相关疑难解决方法(0)

正确使用SetDeviceGammaRamp

我想在应用程序启动时添加调整屏幕gamma的功能,并在退出时重置它.虽然人们是否应该篡改伽玛是有争议的(个人我发现它毫无用处和有害),但是嘿,有些人希望能够做那种事情.

这只是一个简单的API调用,所以这很容易,对吧?

MSDN说:"伽马斜坡在三个256个WORD元素阵列中指定,每个值必须存储在每个WORD的最高有效位中,以增加DAC的独立性." .在我的理解中,这意味着,word_value = byte_value<<8听起来很奇怪,但这就是我读它的方式.

Doom3源代码包含一个函数,它接受三个char值数组并将它们转换为一个uint16_t值数组,这些值在上半部分和下半部分具有相同的字节值.换句话说就像word_value = (byte_value<<8)|byte_value.这同样很奇怪,但更糟糕的是它与上面的不一样.

互联网上还有一些代码片段在各种爱好程序员网站上(显然是一个从另一个被盗,因为它们与字母相同),这些代码片段做了一些模糊的数学运算,将线性指数乘以一个值,偏差为128,并且夹到65535.我不太确定这是什么,但对我来说这看起来完全是胡说八道,而且它与上述两者中的任何一个都不一样.

是什么赋予了?必须明确定义 - 不要猜测 - 您提供的数据必须如何?最后,人们会做的是读取原始值并让用户无论如何调整一些滑块(并且可选地使用用户的配置将该blob保存到磁盘),但仍然......为了修改这些值,需要知道他们是什么,期待什么.

有人做过(并经过测试!)之前知道哪一个是对的吗?

winapi gamma

8
推荐指数
1
解决办法
4042
查看次数

标签 统计

gamma ×1

winapi ×1