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 のビュー変換に合わせて適切にスケーリングされます。 これを行うには、ペンの幅にビュー変換の決定要因の平方根を掛けます。 境界ボックスの高さと幅は、各方向にこの量の半分だけ展開され、右側と下部の辺は 1 ずつ増加します。
たとえば、ペンの幅が最初は 53 で、ビュー変換の行列式の平方根が 50 で、境界ボックスが (0, 0, 1000, 1000) であるとします。 各方向の境界ボックスに対するペンの幅調整は(53 * 50)/2として計算され、左右の辺は1ずつインクリメントされます。 これにより、レンダリングされた境界ボックスが (-1325、-1325、2326、2326) になります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP タブレット PC エディション [デスクトップ アプリのみ] |
サポートされている最小のサーバー | サポートなし |
対象プラットフォーム | Windows |
ヘッダー | msinkaut.h |
Library | InkObj.dll |