iInkDisp::NearestPoint 方法 (msinkaut.h)

检索最接近已知点的 InkDisp 对象中的 IInkStrokeDisp,可以选择提供最近点的索引以及从指定点到笔划的距离。

语法

HRESULT NearestPoint(
  [in]                long           X,
  [in]                long           Y,
  [in, out, optional] float          *PointOnStroke,
  [in, out, optional] float          *DistanceFromPacket,
  [out, retval]       IInkStrokeDisp **Stroke
);

parameters

[in] X

x- 在墨迹空间中的位置。

[in] Y

指定点 y- 在墨迹空间中的位置。

[in, out, optional] PointOnStroke

可选。 检索笔划线条上最接近 InkDisp 对象中指定点的点。 例如,值为 1.5 表示点位于笔划的第一个和第二个数据包之间。 此参数可以为 NULL。 默认值为 0。

[in, out, optional] DistanceFromPacket

可选。 检索墨迹空间中的指定点与 InkDisp 对象中最近的笔划之间的距离。 此参数可以为 NULL。 默认值为 0。

[out, retval] Stroke

此方法返回时,包含 IInkStrokeDisp ,其中包含最接近 InkDisp 对象中指定点的点。 如果多个笔划包含的点与指定点的距离相同,则此结果的值是任意的。

返回值

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

返回代码 说明
S_OK
成功。
E_POINTER
参数包含无效指针。
E_FAIL
发生了未指定的错误。
E_INK_EXCEPTION
方法内发生异常。
E_OUTOFMEMORY
无法分配内存操作。

注解

输出 参数定义为浮点数,因为笔划线上的点可以位于两个物理坐标点之间。 使用此值可以使用 Split 方法拆分笔划,或向上或向下舍入值以索引笔划中的数据包。

distanceFromPacket 参数描述从笔划的点到信封的距离。 这是两个点之间的距离减去笔划宽度的一半。

要求

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

另请参阅

IInkDisp

IInkStrokeDisp 接口

InkDisp 类

NearestPoint 方法 [IInkStrokeDisp 接口]

Split 方法