IInkDisp::Save 方法 (msinkaut.h)

将墨迹转换为指定的 InkPersistenceFormat,使用指定的 InkPersistenceCompressionMode 保存墨迹,并返回字节数组中的二进制数据。

语法

HRESULT Save(
  [in, optional] InkPersistenceFormat          PersistenceFormat,
  [in, optional] InkPersistenceCompressionMode CompressionMode,
  [out, retval]  VARIANT                       *Data
);

参数

[in, optional] PersistenceFormat

可选。 设置 一个 InkPersistenceFormat 值,该值指示持久墨迹的格式。 默认值为 InkSerializedFormat。

名称 说明
InkSerializedFormat
墨迹使用墨迹序列化格式 (ISF) 持久保存。

这是墨迹的最紧凑持久表现形式。 该格式可以嵌入到二进制文档格式,也可以直接放置在剪贴板上。 这是默认值。

Base64InkSerializedFormat
通过将 ISF 编码为 base64 流来保留墨迹。

提供此格式,以便墨迹可以直接在可扩展标记语言 (XML) 或 HTML 文件中进行编码。

Gif
使用图形交换格式 (GIF) 文件来保留墨迹,该文件包含 ISF 作为嵌入在文件中的元数据。

这允许在未启用墨迹的应用程序中查看墨迹,并在墨迹返回到已启用墨迹的应用程序时保持其完整的墨迹保真度。 当在 HTML 文件中传输墨迹内容并使其可由启用墨迹和不识别墨迹的应用程序使用时,此格式非常理想。

Base64Gif
墨迹通过使用 base64 编码强化进行持久化。

当墨迹直接在 XML 或 HTML 文件中进行编码并稍后转换为图像时,会提供此 GIFformat。 此方法的可能用途是采用 XML 格式,该格式生成以包含所有墨迹信息,并用作通过可扩展样式表语言转换 (XSLT) 生成 HTML 的方式。

[in, optional] CompressionMode

可选。 指定持久墨迹的压缩模式的 InkPersistenceCompressionMode 值之一。 默认值为 IPCM_Default。

名称 说明
IPCM_Default
在需要典型应用程序的保存时间和存储之间进行最佳权衡时使用。
IPCM_MaximumCompression
当最小化存储空间比墨迹保存速度更重要时使用 。
IPCM_NoCompression
当保存时间比使用的存储空间量更重要且版本之间的兼容性很重要时使用。

[out, retval] Data

此方法返回时,包含包含持久墨迹的字节数组。

有关 VARIANT 结构的详细信息,请参阅 使用 COM 库

返回值

此方法可以返回其中一个值。

返回代码 说明
S_OK
成功。
E_POINTER
参数包含无效的指针。
E_INK_EXCEPTION
方法内发生异常。
E_INVALIDARG
无效的压缩模式。
E_OUTOFMEMORY
无法分配字节数组。
E_UNEXPECTED
尝试以 GIF 格式保存空 Ink 对象时发生。

注解

尝试以 GIF 格式保存空 InkDisp 对象将生成错误。

注意调用具有 Base64InkSerializedFormatInkPersistenceFormatSave 方法时,返回值为 NULL 终止字节数组。 若要将保存的墨迹写入 XML 文件,请先从数组中删除最后一个字节,然后再将数组转换为 8 位 Unicode 转换格式 (UTF-8) 编码字符串。
 

要求

要求
最低受支持的客户端 Windows XP Tablet PC Edition [仅限桌面应用]
最低受支持的服务器 无受支持的版本
目标平台 Windows
标头 msinkaut.h
Library InkObj.dll

另请参阅

IInkDisp

InkDisp 类

InkPersistenceCompressionMode 枚举

InkPersistenceFormat 枚举

Load 方法