トリミング効果

トリミング効果を使用して、イメージの指定した領域を出力します。

この効果の 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();

効果のプロパティ

表示名とインデックス列挙 型と既定値 説明
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 プロパティのサイズです。 長さと幅は calc です

次の式を使用して計算されます。

ピクセル単位の出力長=(Rect.Right-Rect.Left)*(ユーザーの DPI/96)
出力の高さ (ピクセル単位) =(Rect.Bottom-Rect.Top)*(ユーザーの DPI/96)

必要条件

要件
サポートされている最小のクライアント Windows 8 および Windows 7 用プラットフォーム更新プログラム [デスクトップ アプリ |Windows ストア アプリ]
サポートされている最小のサーバー Windows 8 および Windows 7 用プラットフォーム更新プログラム [デスクトップ アプリ |Windows ストア アプリ]
ヘッダー d2d1effects.h
ライブラリ d2d1.lib、dxguid.lib

ID2D1Effect