对比度效果

增加或降低图像的对比度。

此效果的 CLSID CLSID_D2D1Contrast。

对比度函数使用两个分段二次多项式修改每个颜色通道值,这些多项式在 (0.5、0.5) 点与斜率连续性相遇。

在点 (0.5、0.5) 与斜率连续性相遇的分段二次多项式

示例图像

此示例显示应用的最大对比度 (对比度 = 1.0) 的效果输出。

之前

应用效果前的图像

之后

应用效果后的图像

代码示例

ComPtr<ID2D1Effect> contrastEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Contrast, &contrastEffect);
 
contrastEffect->SetInput(0, bitmap);
contrastEffect->SetValue(D2D1_CONTRAST_PROP_CONTRAST, 0.5f);
contrastEffect->SetValue(D2D1_CONTRAST_PROP_CLAMP_INPUT, TRUE);
 
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(contrastEffect.Get());
m_d2dContext->EndDraw();

效果属性

对比度效果的属性由 D2D1_CONTRAST_PROP 枚举定义。

要求

要求
最低受支持的客户端 Windows 10 [桌面应用 |Windows 应用商店应用]
最低受支持的服务器 Windows 10 [桌面应用 |Windows 应用商店应用]
标头 d2d1effects_2.h
d2d1.lib、dxguid.lib