饱和度效果
使用此效果可更改图像的饱和度。 饱和度效果是 颜色矩阵 效果的专用化。
此效果的 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 |