IInkDisp::ExtractWithRectangle 方法 (msinkaut.h)

使用已知矩形确定要提取的笔划,从现有 InkDisp 对象剪切或复制笔划并将其粘贴到新的 InkDisp 对象中。

语法

HRESULT ExtractWithRectangle(
  [in]           IInkRectangle   *Rectangle,
  [in, optional] InkExtractFlags extractFlags,
  [out, retval]  IInkDisp        **ExtractedInk
);

参数

[in] Rectangle

指定用于分隔要从 InkDisp 对象中提取的墨迹的 InkRectangle 对象。

[in, optional] extractFlags

可选。 指定 InkExtractFlags 枚举类型,该枚举类型确定是应从现有 InkDisp 对象剪切还是复制墨迹。 默认值为 IEF_DEFAULT,这会从现有 InkDisp 对象中剪切笔划。

[out, retval] ExtractedInk

此方法返回时,包含指向 InkDisp 对象的指针,该对象包含提取的笔划集合。

返回值

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

返回代码 说明
S_OK
成功。
E_POINTER
参数包含无效的指针。
E_INK_EXCEPTION
方法内发生异常。
E_INK_SOME_STROKES_NOT_EXTRACTED
并非所有笔划都已提取。
E_OUTOFMEMORY
无法分配内存以完成操作。
E_INVALIDARG
提取标志无效。
REGDB_CLASSNOTREG
Ink 对象未注册。

注解

新的 InkDisp 对象保留原始 InkDisp 对象的绘图属性、属性和坐标。

此方法可用于创建新的 InkDisp 对象,而无需从原始对象删除或剪切笔划。

若要从已知的笔划集合中提取笔划,请调用 ExtractStrokes 方法

仅将矩形内的笔划部分添加到新的 InkDisp 对象。

extractFlags 参数为 RemoveFromOriginalDefault 时,将拆分跨矩形的任何笔划,并从现有 InkDisp 对象中删除矩形内的部分。

要求

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

另请参阅

ExtractStrokes 方法

IInkDisp

InkDisp 类

InkExtractFlags 枚举

InkRectangle 类

InkStrokes 集合