饱和度效果
使用此效果可更改图像的饱和度。 饱和度效果是 颜色矩阵 效果的专用化。
此效果的 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();
效果根据此处公式中的饱和值 (s 计算颜色矩阵,) 使用 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 |