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
);

參數

[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
程式庫 InkObj.dll

另請參閱

IInkDisp

IInkStrokeDisp 介面

InkDisp 類別

NearestPoint 方法 [IInkStrokeDisp 介面]

Split 方法