Ink.Load メソッド
新しい Ink オブジェクトに既知のバイナリ データを設定します。
名前空間 : Microsoft.Ink
アセンブリ : Microsoft.Ink (Microsoft.Ink.dll 内)
構文
'宣言
Public Sub Load ( _
inkdata As Byte() _
)
'使用
Dim instance As Ink
Dim inkdata As Byte()
instance.Load(inkdata)
public void Load(
byte[] inkdata
)
public:
void Load(
array<unsigned char>^ inkdata
)
public void Load(
byte[] inkdata
)
public function Load(
inkdata : byte[]
)
パラメータ
- inkdata
型 : array<System.Byte[]
インク データを格納するバイト配列。
解説
インクは新しい空の Ink オブジェクト、つまり Stroke オブジェクトを収集したこともなく、プロパティがアタッチされたこともない Ink オブジェクトにのみ読み込むことができます。以前にストロークを収集した、またはプロパティがアタッチされた Ink オブジェクトにインクを読み込もうとすると、ストロークまたはプロパティが Ink オブジェクトから削除されている場合であっても例外がスローされます。これは、Id プロパティの割り当て方法が原因です。Stroke オブジェクトには一意の Id プロパティが割り当てられ、この Id プロパティは Stroke オブジェクトが Ink オブジェクトから削除された場合であっても再利用できません。つまり、Id プロパティが 1 の Stroke が Ink オブジェクトに含まれている場合に、Stroke を削除して別のインク データをこの Ink オブジェクトに読み込むと、新しい Stroke オブジェクトの Id プロパティは 2 から始まります。これを多数の Ink オブジェクト間で追跡するとエラーが発生する可能性があるため、追跡できません。
メモ : |
---|
空でない Ink オブジェクトにインクを読み込もうとすると、Ink オブジェクトのすべてのデータ (CustomStrokes や ExtendedProperties も含む) は、Load メソッドの呼び出し時に失われます。 |
Save メソッドを使用すると、バイト データの配列で構成される GIF 形式でインクを保持できます。GIF 永続性形式は PersistenceFormat 列挙型で指定されます。バイト データの配列を保存した後で、それを別の Ink オブジェクトに読み込むことができます。つまり、Save メソッドを呼び出して GIF 形式でないバイト配列を受け取るかのようにして、GIF 互換のバイト配列データを別の Ink オブジェクトに読み込むことができます。
メモ : |
---|
イメージを作成し、バイト配列として保持してから、そのバイト配列を別の Ink オブジェクトに読み込むことはできません。これは、バイト配列データを GIF として読み込んだ後、Microsoft® Windows® XP Tablet PC Edition はそのデータの形式を制御できないため、イメージをバイト配列にもう一度保持した後でそのデータに対して Load を呼び出すことができないからです。 |
例
この例では、保存されたインクがファイルから InkOverlay オブジェクトの Ink オブジェクトに読み込まれます。
Try
' Ink.Load() must work on a new (unused) ink object.
' Otherwise, an exception is raised.
mInkOverlay.Enabled = False
mInkOverlay.Ink = New Ink()
mInkOverlay.Enabled = True
' FILE_NAME is a class level const
Using FS As FileStream = New FileStream(FILE_NAME, FileMode.Open)
' read the bytes from the file
Dim isf(FS.Length) As Byte
FS.Read(isf, 0, FS.Length)
' and load the Ink object
mInkOverlay.Ink.Load(isf)
End Using
Catch
' handle or rethrow
End Try
try
{
// Ink.Load() must work on a new (unused) ink object.
// Otherwise, an exception is raised.
mInkOverlay.Enabled = false;
mInkOverlay.Ink = new Ink();
mInkOverlay.Enabled = true;
// FILE_NAME is a class level const
using (FileStream FS = new FileStream(FILE_NAME, FileMode.Open))
{
// read the bytes from the file
byte[] isf = new byte[FS.Length];
FS.Read(isf, 0, (int)FS.Length);
// and load the Ink object
mInkOverlay.Ink.Load(isf);
}
}
catch
{
// handle or rethrow
}
プラットフォーム
Windows Vista
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0