如何使用 Axis-Aligned 剪切矩形裁剪

本主題說明如何使用軸對齊的剪輯矩形來裁剪影像。 這種方法只會產生矩形剪輯,因為內容界限會對齊矩形的座標軸。 這種方法比使用具有內容界限的圖層更有效率。 如需詳細資訊,請參閱圖層總覽

若要使用軸對齊的剪輯矩形進行裁剪

  1. 從資源載入原始映射。 如需有關如何載入點陣圖的詳細資訊,請參閱 如何從資源載入點陣圖

  2. 呼叫 ID2D1RenderTarget::P ushaxisalignedclip 來指定矩形。 轉譯命令會裁剪至矩形。

  3. 繪製原始影像。

  4. 呼叫 ID2D1RenderTarget::P opaxisalignedclip ,從轉譯目標中移除最後一個軸對齊的剪輯。

例如,在下圖中,左邊的原始點陣圖是 200 * 130 圖元。 右邊的點陣圖是裁剪成軸對齊剪切矩形的原始點陣圖。 維度 (20,20) 至 (100,100) 。

裁剪點陣圖前後的金魚點陣圖圖例

若要建立裁剪的影像,請建立矩形結構作為裁剪區域。 使用裁剪區域來呼叫 PushAxisAlignedClip ,並繪製原始影像。 呼叫 PopAxisAlignedClip 以從轉譯目標中移除剪輯。 下列程式碼示範如何執行這項操作。

pRT->PushAxisAlignedClip(
    D2D1::RectF(20, 20, 100, 100),
    D2D1_ANTIALIAS_MODE_PER_PRIMITIVE
    );

pRT->FillRectangle(D2D1::RectF(0, 0, 200, 133), m_pOriginalBitmapBrush);
pRT->PopAxisAlignedClip();

Direct2D 參考