共用方式為


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 物件追蹤這個項目會導致錯誤,因而是不允許的。

ms569609.alert_note(zh-tw,VS.90).gif注意事項:

如果嘗試將筆墨載入到非空白的 Ink 物件,在呼叫 Load 時,Ink 物件中的所有資料都會遺失,包括任何 CustomStrokesExtendedProperties

Save 方法可以讓您以 GIF 格式保存筆墨,其中包含位元組資料的陣列。GIF 保存格式是在 PersistenceFormat 列舉型別中指定的。在您已經具有位元組資料陣列後,可以將其載入到另一個 Ink 物件中。這表示您可以將 GIF 相容的位元組陣列資料載入到另一個 Ink 物件中,就如同您在呼叫 Save 方法並接收不是 GIF 格式的位元組陣列時一樣。

ms569609.alert_note(zh-tw,VS.90).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

請參閱

參考

Ink 類別

Ink 成員

Microsoft.Ink 命名空間

Ink.Save