Share via


IInkRenderer::D raw メソッド (msinkaut.h)

既知のデバイス コンテキストを使用してインク ストロークを描画します。

構文

HRESULT Draw(
  [in] LONG_PTR    hDC,
  [in] IInkStrokes *Strokes
);

パラメーター

[in] hDC

描画するデバイス コンテキストの hWnd を指定します。

[in] Strokes

描画するストロークを指定します。

戻り値

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

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

注釈

ペンの幅は、ビュー変換の決定要因の平方根で乗算 (またはスケーリング) されます。

メモ ペンの幅を明示的に設定していない場合、既定では 53 です。 正しい境界ボックスを生成するには、ペンの幅に行列式の平方根を掛ける必要があります。 境界ボックスの高さと幅は、各方向にこの量の半分だけ展開されます。
 
たとえば、ペンの幅が 53、行列式の平方根が 50、境界ボックスが (0,0,1000,1000) であるとします。 各方向の境界ボックスに対するペン幅の調整は (53*50)/2 と計算され、左右の辺は 1 ずつインクリメントされます。 これにより、レンダリングされた境界ボックスが (-1325,-1325,2326,2326) になります。
メモ 1 つのストロークを描画するには、 DrawStroke メソッドを使用します。
 
InkRenderer は、ビューポートとウィンドウの原点を強制的に 0,0 にします。 既存の設定はすべて保存および復元されますが、 InkRenderer では使用されません。 スクロールを実行するには、 InkRenderer オブジェクトのビューおよびオブジェクト変換メソッドを使用します。

要件

要件
サポートされている最小のクライアント Windows XP タブレット PC エディション [デスクトップ アプリのみ]
サポートされている最小のサーバー サポートなし
対象プラットフォーム Windows
ヘッダー msinkaut.h
Library InkObj.dll

こちらもご覧ください

DrawStroke メソッド

IInkRenderer

IInkStrokeDisp インターフェイス

InkDrawingAttributes クラス

InkRenderer クラス

InkStrokes コレクション