饱和度效果

使用此效果可更改图像的饱和度。 饱和度效果是 颜色矩阵 效果的专用化。

此效果的 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属性进行指定。 矩阵公式如下所示。

用于计算饱和矩阵的 公式。

创建的矩阵仅取决于饱和度值。 如果需要特定的矩阵,可以使用 颜色矩阵 效果。

此效果使用并输出预乘 alpha 图像。 效果不适用于直接 alpha 图像,除非它们完全不透明。

效果属性

显示名称和索引枚举 类型和默认值 描述
饱和
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