共用方式為


裁剪效果

使用裁剪效果輸出影像的指定區域。

這個效果的 CLSID 是CLSID_D2D1Crop。

範例影像

以前
在效果之前 影像。
在轉換之後 映像。
ComPtr<ID2D1Effect> cropEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Crop, &cropEffect);

cropEffect->SetInput(0, bitmap);
cropEffect->SetValue(D2D1_CROP_PROP_RECT, D2D1::RectF(0.0f, 0.0f, 256.0f, 192.0f));

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(cropEffect.Get());
m_d2dContext->EndDraw();

效果屬性

顯示名稱和索引列舉 類型和預設值 描述
矩形
D2D1_VECTOR_4F
要裁剪的區域會以格式指定為向量(左、上、寬度、高度)。
D2D1_CROP_PROP_RECT
{-FLT_MAX、-FLT_MAX、FLT_MAX、FLT_MAX}
單位為 DIP。
附注:
如果 Rect 與輸入影像的邊緣界限重疊,則會截斷。
D2D1_CROP_PROP_BORDER_MODE
D2D1_BORDER_MODE
D2D1_BORDER_MODE_SOFT
  • D2D1_BORDER_MODE_SOFT:如果裁剪矩形落在小數圖元座標上,效果會套用反鋸齒,這會導致柔邊。
  • D2D1_BORDER_MODE_HARD:如果裁剪矩形落在小數圖元座標上,效果會夾住導致硬邊緣。

輸出點陣圖

這個效果的輸出是 Rect 屬性的大小。 長度和寬度是計算

在這裡使用方程序進行擷取:

以像素為單位的輸出長度=(Rect.Right-Rect.Left)*(使用者的 DPI/96)
以像素為單位的輸出高度=(Rect.Bottom-Rect.Top)*(使用者的 DPI/96)

要求

要求 價值
最低支援的用戶端 適用於 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |Windows 市集應用程式]
最低支援的伺服器 適用於 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |Windows 市集應用程式]
頁眉 d2d1effects.h
圖書館 d2d1.lib、dxguid.lib

ID2D1Effect