C++ GDI+ Color Matrix原理学习与高级色彩滤镜开发问题咨询
基于GDI+颜色矩阵开发屏幕色彩调整应用相关疑问
我正在开发一款可通过透明窗口调整屏幕背景色彩属性的应用,目标复刻Color Oracle的功能,目前基于C++ GDI+资源进行开发。GDI+提供了*Color Matrix(颜色矩阵)*相关能力,我已基于此实现了灰度滤镜、亮度调整、饱和度调整功能;但在开发色盲滤镜、蓝光过滤、对比度调整等高级效果时,目前仍采用试错方式调试,效率较低,希望能获得正确的学习方向,掌握颜色矩阵的核心基础原理。
以下是我实现的小幅度提升饱和度同时限制亮度分量的示例矩阵代码:
MAGCOLOREFFECT magEffectSaturationBoost = { { // MagEffectBright { 1.02f, 0.0f, 0.0f, 0.0f, 1.0f }, { 0.0f, 1.02f, 0.0f, 0.0f, 1.0f }, { 0.0f, 0.0f, 1.02f, 0.0f, 1.0f }, { 0.0f, 0.0f, 0.0f, 1.0f, 0.0f }, { -0.1f, -0.1f, -0.1f, 0.0f, 0.0f } } }; // Using the Matrix ret = MagSetColorEffect(hwndMag, &magEffectSaturationBoost);
内容的提问来源于stack exchange,提问作者Sourabh Desai
相关产品推荐
相关产品推荐

