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

本主題描述如何使用軸對齊的裁剪矩形來裁剪影像。 此方法只會產生矩形裁剪,因為內容界限會對齊矩形的軸。 這種方法比搭配內容界限使用圖層更有效率。 如需詳細資訊,請參閱Layers 概觀

使用軸對齊的剪輯矩形裁剪

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

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

  3. 小畫家原始影像。

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

例如,在下圖中,左側的原始點陣圖為 200*130 圖元。 右邊的點陣圖是裁剪到座標軸對齊剪輯矩形的原始點陣圖。 維度 (20、20) (100、100) 。

illustration of a goldfish bitmap before and after the bitmap is clipped

若要建立裁剪的影像,請建立矩形結構做為裁剪區域。 使用裁剪區域呼叫 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 參考