共用方式為


裁剪效果

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

此效果的 CLSID CLSID_D2D1Crop。

範例影像

之前
效果之前的影像。
After
轉換之後的影像。
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();

效果屬性

顯示名稱和索引列舉 類型和預設值 描述
Rect
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