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 屬性是不會重複使用的,即使已經從 Ink 物件中刪除 Stroke 物件也一樣。這表示,如果有個 Ink 物件包含 Id 屬性為 1 的 Stroke,且您刪除了該 Stroke 並將其他筆墨資料載入到這個 Ink 物件,則任何新 Stroke 物件的 Id 屬性都必須從 2 開始。跨各個 Ink 物件追蹤這個項目會導致錯誤,因而是不允許的。
![]() |
---|
如果嘗試將筆墨載入到非空白的 Ink 物件,在呼叫 Load 時,Ink 物件中的所有資料都會遺失,包括任何 CustomStrokes 或 ExtendedProperties。 |
Save 方法可以讓您以 GIF 格式保存筆墨,其中包含位元組資料的陣列。GIF 保存格式是在 PersistenceFormat 列舉型別中指定的。在您已經具有位元組資料陣列後,可以將其載入到另一個 Ink 物件中。這表示您可以將 GIF 相容的位元組陣列資料載入到另一個 Ink 物件中,就如同您在呼叫 Save 方法並接收不是 GIF 格式的位元組陣列時一樣。
![]() |
---|
您不可以建立影像、將該影像保存為位元組陣列,然後再將該位元組陣列載入到另一個 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