gpt4 book ai didi

objective-c - 屏幕颜色反转在 OS X 中如何工作?

转载 作者:太空狗 更新时间:2023-10-30 03:56:16 26 4
gpt4 key购买 nike

这就是 OS X 的内置颜色反转功能可以将您的屏幕变成:

enter image description here

它可以反转所有颜色,将它们变成灰度,调整对比度。现在我想构建自己的实现,因此需要专业人士的建议。

无法捕获倒置屏幕让我想到倒置是一种调整层,位于所有窗口之上,根本不会暴露于交互事件。是这样吗?是通过 OpenGL 库完成的吗?

我不研究实际的编码帮助,而是研究解决问题的设计/方法。在我的目标应用程序中,我需要定义输出颜色调音符并应用颜色转换规则(输入 => 输出)。

提前致谢。

最佳答案

Mac OS 进行颜色反转的方式(可能)是使用 Quartz Display Services修改显卡的 Gamma 表。

显卡有两个这样的表,用于修改合成到最终帧缓冲区后的颜色输出。应用程序可以修改其中之一,以改变屏幕显示任何 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;
}

关于objective-c - 屏幕颜色反转在 OS X 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14163788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com