IInkRenderer::Measure メソッド (msinkaut.h)
DrawStroke メソッドを使用して InkRenderer オブジェクトを使用してストロークが描画された場合に、ストロークのコレクションを含むデバイス コンテキスト上の四角形を計算します。
構文
HRESULT Measure(
[in] IInkStrokes *Strokes,
[out, retval] IInkRectangle **Rectangle
);
パラメーター
[in] Strokes
測定するストロークのコレクション。
[out, retval] Rectangle
このメソッドが戻るとき、 には、InkRenderer オブジェクトの DrawStroke メソッドを使用して描画されたストロークを含む、デバイス コンテキスト上の四角形へのポインターが含まれます。 四角形を計算するには、ストロークに x 座標と y 座標を含める必要があります。 それ以外の場合、メソッドは空の四角形を返します。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
パラメーターに無効なポインターが含まれていました。 |
|
表示ハンドルが無効です。 |
|
strokes パラメーターは、有効なオブジェクトを指していません。 |
|
strokes パラメーターは、別の InkDisp オブジェクトに関連付けられています。 |
|
メソッド内で例外が発生しました。 |
|
予期しないパラメーターまたはプロパティの種類。 |
注釈
これは、 Measure と DrawStroke の両方に同じ引数を渡す場合にのみ正確です。
境界ボックスはペンの幅の影響を受けるので、この幅は InkRenderer のビュー変換に合わせて適切にスケーリングされます。 これを行うには、ペンの幅にビュー変換の決定要因の平方根を乗算します。 境界ボックスの高さと幅は、各方向にこの量の半分だけ拡大され、左右の辺は 1 ずつインクリメントされます。
たとえば、ペンの幅が最初は 53 で、ビュー変換の決定要因の平方根が 50 で、境界ボックスが (0、0、1000、1000) であるとします。 各方向の境界ボックスに対するペン幅の調整は、(53 * 50) / 2 として計算され、左右の辺は 1 ずつインクリメントされます。 これにより、レンダリングされた境界ボックスが (-1325、-1325、2326、2326) になります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP Tablet PC Edition [デスクトップ アプリのみ] |
サポートされている最小のサーバー | サポートなし |
対象プラットフォーム | Windows |
ヘッダー | msinkaut.h |
Library | InkObj.dll |