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
類型:[in] D2D1_ANTIALIAS_MODE
反鋸齒模式,用來繪製具有子圖元界限的剪輯矩形邊緣,以及將剪輯與場景內容混合。 呼叫 PopAxisAlignedClip 方法時,就會執行混合一次,而且不適用於圖層中的每個基本類型。
傳回值
無
備註
clipRect 是由轉譯目標上設定的目前世界轉換所轉換。 將轉換套用至傳入的 clipRect 之後,會計算 clipRect 的軸對齊周框方塊。 為了有效率,內容會裁剪到這個軸對齊周框方塊,而不是傳入的原始 clipRect 。
下圖顯示旋轉轉換如何套用至轉譯目標、產生的 clipRect和計算軸對齊周框方塊。
- 假設下圖中的矩形是對齊螢幕圖元的轉譯目標。
- 將旋轉轉換套用至轉譯目標。 在下圖中,黑色矩形代表原始轉譯目標,而紅色虛線矩形代表轉換的轉譯目標。
- 呼叫 PushAxisAlignedClip 之後,旋轉轉換會套用至 clipRect。 在下圖中,藍色矩形代表已轉換的 clipRect。
- 會計算軸對齊周框方塊。 綠色虛線矩形代表下圖中的周框方塊。 所有內容都會裁剪到這個軸對齊周框方塊。
注意 如果轉譯作業失敗,或未呼叫 PopAxisAlignedClip ,剪輯截斷可能會導致轉譯目標上的某些成品。 PopAxisAlignedClip 可以視為繪圖作業,其設計目的是要修正裁剪區域的框線。 如果沒有此呼叫,裁剪區域的框線可能無法反鋸齒或更正。
PushAxisAlignedClip 和 PopAxisAlignedClip 配對可以發生在 PushLayer 和 PopLayer 內,但不能重疊。 例如,PushAxisAlignedClip、PushLayer、PopLayer、PopAxisAlignedClip 的順序有效,但 PushAxisAlignedClip、PushLayer、PopAxisAlignedClip 的順序無效。
如果這個方法失敗,則不會傳回錯誤碼。 若要判斷繪圖作業是否 (,例如 PushAxisAlignedClip) 失敗,請檢查 ID2D1RenderTarget::EndDraw 或 ID2D1RenderTarget::Flush 方法傳回的結果。
規格需求
最低支援的用戶端 | 適用於 Windows Vista 的 Windows 7、Windows Vista SP2 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | d2d1.h |
程式庫 | D2d1.lib |
Dll | D2d1.dll |