彩度効果
画像の彩度を変更するには、この効果を使用します。 彩度効果は、 カラー マトリックス 効果の特殊化です。
この効果の 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 プロパティで指定した彩度の値 (ここでの式の 1) に基づいてカラー マトリックスを計算します。 行列式を次に示します。
作成されるマトリックスは、飽和値にのみ依存します。 特定のマトリックスが必要な場合は、 カラー マトリックス 効果を使用できます。
この効果は、事前に乗算されたアルファ画像を消費して出力します。 効果は、完全に不透明でない限り、直線のアルファ画像では機能しません。
Effect プロパティ
表示名とインデックス列挙 | 型と既定値 | 説明 |
---|---|---|
[鮮やかさ] D2D1_SATURATION_PROP_SATURATION |
FLOAT 0.5f |
イメージの彩度。 彩度は 0 ~ 1 の値に設定できます。 1 に設定すると、出力イメージは完全に飽和状態になります。 0 に設定すると、出力イメージはモノクロになります。 彩度の値は単位なしです。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 のWindows 8とプラットフォーム更新プログラム [デスクトップ アプリ |Windows ストア アプリ] |
サポートされている最小のサーバー | Windows 7 のWindows 8とプラットフォーム更新プログラム [デスクトップ アプリ |Windows ストア アプリ] |
Header | d2d1effects.h |
ライブラリ | d2d1.lib、dxguid.lib |