这就是 OS X 内置的颜色反转功能可以将您的屏幕变成:
它可以反转所有颜色、将其灰度化、调整对比度。现在我想构建自己的实现,因此需要专业人士的建议。
无法捕获倒置屏幕让我认为倒置是一种调整层,它位于所有窗口之上,并且根本不暴露于交互事件。是这样吗?是通过 OpenGL 库完成的吗?
我不研究实际的编码帮助,而是研究解决问题的设计/方法。在我的目标应用程序中,我需要定义输出颜色调并应用颜色转换规则(输入=>输出)。
提前致谢。
Mac OS 进行颜色反转的方式(可能)是使用石英显示服务 https://developer.apple.com/library/mac/#documentation/graphicsimaging/reference/Quartz_Services_Ref/Reference/reference.html修改显卡的伽马表。
显卡有两个这样的表,用于在合成到最终帧缓冲区后修改颜色输出。其中之一可以由应用程序修改,以改变屏幕显示任何 RGB 值的方式。
这是反转显示的代码:
//ApplicationServices includes CoreGraphics
#import <ApplicationServices/ApplicationServices.h>
int main(int argc, const char * argv[])
{
CGGammaValue table[] = {1, 0};
CGSetDisplayTransferByTable(CGMainDisplayID(), sizeof(table) / sizeof(table[0]), table, table, table);
sleep(3);
return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)