次の方法で共有


彩度効果

この効果を使用して、イメージの彩度を変更します。 彩度効果は、カラー マトリックス 効果の特殊化です。

この効果の CLSID はCLSID_D2D1Saturation。

画像の例

次の例は、彩度が 0%の彩度効果の入力画像と出力画像を示しています。

以前は
効果の前に画像を します。
変換後にイメージを します。
ComPtr<ID2D1Effect> saturationEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Saturation, &saturationEffect);

saturationEffect->SetInput(0, bitmap);

saturationEffect->SetValue(D2D1_SATURATION_PROP_SATURATION, 0.0f);

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

この効果は、D2D1_SATURATION_PROP_SATURATION プロパティで指定した彩度値 (ここでの数式の) に基づいてカラー マトリックスを計算します。 行列式を次に示します。

飽和行列を計算するための数式です。

作成されるマトリックスは、飽和値にのみ依存します。 特定のマトリックスが必要な場合は、カラー マトリックス 効果を使用できます。

この効果は、プリマルチプライ済みのアルファ 画像を消費して出力します。 効果は、完全に不透明でない限り、直線のアルファ画像では機能しません。

Effect プロパティ

表示名とインデックス列挙 型と既定値 形容
飽和
D2D1_SATURATION_PROP_SATURATION
浮く
0.5f
イメージの彩度。 彩度は 0 ~ 1 の値に設定できます。 1 に設定すると、出力イメージは完全に飽和状態になります。 0 に設定すると、出力イメージはモノクロになります。 彩度の値は単位なしです。

必要条件

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

ID2D1Effect