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 对象中指定点的点。 如果多个笔划包含的点与指定点的距离相同,则此结果的值是任意的。
返回值
此方法可以返回其中一个值。
返回代码 | 说明 |
---|---|
|
成功。 |
|
参数包含无效指针。 |
|
发生了未指定的错误。 |
|
方法内发生异常。 |
|
无法分配内存操作。 |
注解
输出 点 参数定义为浮点数,因为笔划线上的点可以位于两个物理坐标点之间。 使用此值可以使用 Split 方法拆分笔划,或向上或向下舍入值以索引笔划中的数据包。
distanceFromPacket 参数描述从笔划的点到信封的距离。 这是两个点之间的距离减去笔划宽度的一半。
要求
最低受支持的客户端 | Windows XP Tablet PC Edition [仅限桌面应用] |
最低受支持的服务器 | 无受支持的版本 |
目标平台 | Windows |
标头 | msinkaut.h |
Library | InkObj.dll |