色调旋转效果

使用色调旋转效果通过应用基于旋转角度的颜色矩阵来更改图像的色调。

此效果的 CLSID CLSID_D2D1HueRotation。

示例图像

此处的示例显示了色调旋转效果的输入和输出图像,旋转角度为 270 度。

以前
在效果之前 图像。
转换后 图像。
ComPtr<ID2D1Effect> hueRotationEffect;
m_d2dContext->CreateEffect(CLSID_D2D1HueRotation, &hueRotationEffect);

hueRotationEffect->SetInput(0, bitmap);
hueRotationEffect->SetValue(D2D1_HUEROTATION_PROP_ANGLE, 270.0f);

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(hueRotationEffect.Get());
m_d2dContext->EndDraw();

该效果根据使用 D2D1_HUEROTATION_PROP_ANGLE 属性指定的旋转角度()计算颜色矩阵。 下面是矩阵公式。

色调旋转计算

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

效果属性

显示名称和索引枚举 类型和默认值 描述
角度
D2D1_HUEROTATION_PROP_ANGLE

0.0f
旋转色调的角度(以度为单位)。

输出位图

输出位图大小与输入位图大小相同。

要求

要求 价值
支持的最低客户端 适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |Windows 应用商店应用]
支持的最低服务器 适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |Windows 应用商店应用]
页眉 d2d1effects.h
图书馆 d2d1.lib、dxguid.lib

ID2D1Effect