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 对象。这意味着,可以和调用 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