共用方式為


飽和度效果

使用此效果來改變影像的飽和度。 飽和度效果是 色彩矩陣 效果的特製化。

此效果的 CLSID 是CLSID_D2D1Saturation。

範例影像

此處的範例顯示飽和度效果的輸入和輸出影像,飽和度為 0%。

之前
效果之前的影像。
After
轉換之後的影像。
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 屬性指定。 矩陣方程式如下所示。

計算飽和度矩陣的公式。

建立的矩陣只取決於飽和度值。 如果您需要特定的矩陣,可以使用 色彩矩陣 效果。

此效果會取用並輸出預乘 Alpha 影像。 除非效果完全不透明,否則效果無法在直接 Alpha 影像上運作。

效果屬性

顯示名稱和索引列舉 類型和預設值 描述
飽和度
D2D1_SATURATION_PROP_SATURATION
FLOAT
0.5f
影像的飽和度。 您可以將飽和度設定為介於 0 到 1 之間的值。 如果您將其設定為 1,輸出影像會完全飽和。 如果您將其設定為 0,則輸出影像為單色。 飽和度值為無單位值。

規格需求

需求
最低支援的用戶端 適用于 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |Windows 市集應用程式]
最低支援的伺服器 適用于 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |Windows 市集應用程式]
標頭 d2d1effects.h
程式庫 d2d1.lib、dxguid.lib

ID2D1Effect