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 对象中的所有数据,包括所有 CustomStrokesExtendedProperties,都会丢失。

使用 Save 方法可以以 GIF 格式保存墨迹,这种格式由字节数据数组组成。GIF 保存格式是在 PersistenceFormat 枚举类型中指定的。获得字节数据数组后,可以将数组加载到其他 Ink 对象。这意味着,可以和调用 Save 方法并接受非 GIF 格式字节数组一样,将 GIF 兼容字节数组数据加载到其他 Ink 对象。

备注

您不能在创建图像后将它保存为字节数组,再将该字节数组加载到其他 Ink 对象。这是因为,以 GIF 加载字节数组数据后,Microsoft(R) Windows(R) 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