我覆盖了一个 OpenGL 应用程序(c++),这个 openGL 应用程序使用 SetDeviceGammaRamp 将桌面的亮度设置为非常高(不知道为什么)。这个应用程序是全屏的,看起来不错,但我的叠加层非常亮。由于高伽马,我得到黄色而不是具有正常亮度的橙色。
我想要做什么:获取当前设置的伽玛(使用GetDeviceGammaRamp),然后使用它来调整我设置的颜色。
喜欢; glColor4f(r, g, b, a) 变为 glColor4f(r / gamma, g / gamma, b / gamma, a);
因此,如果桌面的亮度非常高,则 rg 和 b 值会更低(更暗)并且看起来应该如此。
我怎样才能做到这一点?GetDeviceGammaRamp 填充表格,如何使用它来修改我的颜色?
谢谢