IInkRenderer::MeasureStroke 方法 (msinkaut.h)
使用 DrawStroke 方法以 InkRenderer 物件繪製時,計算裝置內容上會包含筆劃的矩形。
語法
HRESULT MeasureStroke(
[in] IInkStrokeDisp *Stroke,
[in, optional] IInkDrawingAttributes *DrawingAttributes,
[out, retval] IInkRectangle **Rectangle
);
參數
[in] Stroke
要測量的筆劃。
[in, optional] DrawingAttributes
選擇性。 計算矩形時要使用的 InkDrawingAttributes ,它會覆寫筆劃上的繪圖屬性。 默認值為 NULL,這表示筆劃是使用自己的繪圖屬性來測量。
[out, retval] Rectangle
當這個方法傳回時,會包含裝置內容上矩形的指標,如果筆劃是使用 InkRenderer 物件的 DrawStroke 方法繪製,則會包含筆劃。 筆劃必須包含 x 和 y 座標,才能計算矩形。 否則,方法會傳回空的矩形。
傳回值
這個方法可以傳回其中一個值。
傳回碼 | 描述 |
---|---|
|
成功。 |
|
InkRectangle 物件未在系統上註冊。 |
|
IInkStrokeDisp 不會指向相容的 InkDisp 物件,或 drawingAttributes 是無效的輸入參數。 |
|
方法內發生例外狀況。 |
|
參數包含無效的指標。 |
|
無效的顯示句柄。 |
|
非預期的參數或屬性類型。 |
備註
只有在您將相同的自變數傳遞至 MeasureStroke 和 DrawStroke 時,才會正確。
由於周框方塊會受到畫筆寬度的影響,所以此寬度會適當地調整 InkRenderer 的檢視轉換。 若要這樣做,手寫筆寬度會乘以檢視轉換之決定線的平方根。 周框方塊的高度和寬度會以每一個方向的這個數量展開一半,右邊和底部會遞增一個。
例如,假設畫筆寬度原本是53,檢視轉換的方塊的平方根是50,周框方塊是 (0,0,0,1000,1000) 。 每個方向的周框方塊的畫筆寬度調整會計算為 (53 * 50) / 2,而右邊和底端則會遞增一個。 這會導致轉譯的周框方塊 (-1325、-1325、2326、2326) 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP Tablet PC Edition [僅限傳統型應用程式] |
最低支援的伺服器 | 都不支援 |
目標平台 | Windows |
標頭 | msinkaut.h |
程式庫 | InkObj.dll |