次の方法で共有


IInkRenderer::Measure メソッド (msinkaut.h)

DrawStroke メソッドを使用して InkRenderer オブジェクトを使用してストロークが描画された場合に、ストロークのコレクションを含むデバイス コンテキスト上の四角形を計算します。

構文

HRESULT Measure(
  [in]          IInkStrokes   *Strokes,
  [out, retval] IInkRectangle **Rectangle
);

パラメーター

[in] Strokes

測定するストロークのコレクション。

[out, retval] Rectangle

このメソッドが戻るとき、 には、InkRenderer オブジェクトの DrawStroke メソッドを使用して描画されたストロークを含む、デバイス コンテキスト上の四角形へのポインターが含まれます。 四角形を計算するには、ストロークに x 座標と y 座標を含める必要があります。 それ以外の場合、メソッドは空の四角形を返します。

戻り値

このメソッドは、これらの値のいずれかを返すことができます。

リターン コード 説明
S_OK
正常終了しました。
E_POINTER
パラメーターに無効なポインターが含まれていました。
E_INVALIDARG
表示ハンドルが無効です。
E_INK_INCOMPATIBLE_OBJECT
strokes パラメーターは、有効なオブジェクトを指していません。
E_INK_MISMATCHED_INK_OBJECT
strokes パラメーターは、別の InkDisp オブジェクトに関連付けられています。
E_INK_EXCEPTION
メソッド内で例外が発生しました。
E_UNEXPECTED
予期しないパラメーターまたはプロパティの種類。

注釈

これは、 MeasureDrawStroke の両方に同じ引数を渡す場合にのみ正確です。

境界ボックスはペンの幅の影響を受けるので、この幅は 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

こちらもご覧ください

Draw メソッド [InkRenderer クラス]

IInkRenderer

IInkStrokeDisp インターフェイス

InkRenderer クラス

MeasureStroke メソッド