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