Share via


ID2D1RenderTarget::P ushAxisAlignedClip(constD2D1_RECT_F&,D2D1_ANTIALIAS_MODE) メソッド (d2d1.h)

後続のすべての描画操作をクリップする四角形を指定します。

構文

void PushAxisAlignedClip(
  const D2D1_RECT_F & clipRect,
  D2D1_ANTIALIAS_MODE antialiasMode
);

パラメーター

clipRect

型: [in] const D2D1_RECT_F &

クリッピング領域のサイズと位置 (デバイスに依存しないピクセル単位)。

antialiasMode

種類: [入力] D2D1_ANTIALIAS_MODE

サブピクセル境界を持つクリップ レクツのエッジを描画し、クリップとシーンコンテンツをブレンドするために使用されるアンチエイリアシング モード。 ブレンドは、 PopAxisAlignedClip メソッドが呼び出されたときに 1 回実行され、レイヤー内の各プリミティブには適用されません。

戻り値

なし

解説

clipRect は、レンダー ターゲットに設定されている現在のワールド変換によって変換されます。 渡された clipRect に変換が適用されると、 clipRect の軸揃え境界ボックスが計算されます。 効率を高めるために、コンテンツは、渡された元の clipRect ではなく、この軸揃え境界ボックスにクリップされます。

次の図は、回転変換をレンダー ターゲット、結果の clipRect、および計算された軸揃え境界ボックスに適用する方法を示しています。

  1. 次の図の四角形は、画面のピクセルに揃えられたレンダー ターゲットであるとします。 四角形の図 (レンダー ターゲット)
  2. レンダー ターゲットに回転変換を適用します。 次の図では、黒い四角形は元のレンダー ターゲットを表し、赤い破線の四角形は変換されたレンダー ターゲットを表しています。 回転した四角形の図 (変換されたレンダー ターゲット)
  3. PushAxisAlignedClip を呼び出すと、回転変換が clipRect に適用されます。 次の図では、青い四角形は変換された clipRect を表しています。 回転した四角形内の小さな青い四角形 (変換された clipRect) の図
  4. 軸揃え境界ボックスが計算されます。 緑色の破線の四角形は、次の図の境界ボックスを表しています。 すべての内容は、この軸揃え境界ボックスにクリップされます。 回転した四角形内の小さな青い四角形の周りの緑の境界ボックスの図
メモ レンダリング操作が失敗した場合、または PopAxisAlignedClip が呼び出されない場合は、クリップrectによってレンダー ターゲットに一部のアーティファクトが発生する可能性があります。 PopAxisAlignedClip は、クリッピング領域の境界線を修正するように設計された描画操作と見なすことができます。 この呼び出しがないと、クリップされた領域の境界線がアンチエイリアシングされたり、修正されたりしない可能性があります。
 
PushAxisAlignedClipPopAxisAlignedClip が一致している必要があります。 それ以外の場合は、エラー状態が設定されます。 レンダー ターゲットが引き続き新しいコマンドを受け取るために、 Flush を呼び出してエラーをクリアできます。

PushAxisAlignedClipPopAxisAlignedClip のペアは、PushLayer と PopLayer の周囲または内部で発生する可能性がありますが、重複することはできません。 たとえば、PushAxisAlignedClipPushLayer、PopLayerPopAxisAlignedClip のシーケンスは有効ですが、PushAxisAlignedClipPushLayerPopAxisAlignedClipPopLayer のシーケンスは無効です。

失敗した場合、このメソッドはエラー コードを返しません。 描画操作 (PushAxisAlignedClip など) が失敗したかどうかを判断するには、ID2D1RenderTarget::EndDraw メソッドまたは ID2D1RenderTarget::Flush メソッドによって返される結果チェックします。

要件

   
サポートされている最小のクライアント Windows 7、Windows Vista SP2 および Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー d2d1.h
Library D2d1.lib
[DLL] D2d1.dll

こちらもご覧ください

ID2D1RenderTarget