次の方法で共有


トリミング効果

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

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

Effect プロパティ

表示名とインデックス列挙 型と既定値 形容
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 です

次の数式を使用して、次の式を使用して計算します。

出力の長さ (Pixels=(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