iOS:有没有办法改变屏幕上每个像素的颜色?

时间:2014-07-19 09:20:47

标签: ios objective-c uicolor uiwindow

无论颜色属于什么物体,苹果如何改变屏幕上每个像素的颜色(即颜色的灰度/反转)。它显然不是在阅读背景颜色属性,因为它甚至会影响图像。

如何处理这个?

为了澄清我的问题,如何更改屏幕上每个像素的强度/色调,类似于f.lux的方式?

1 个答案:

答案 0 :(得分:1)

  

苹果如何改变屏幕上每个像素的颜色?

Apple可能会使用名为CGSetDisplayTransferByTable的API,该API在iOS上无法公开。

显示转移表控制三个RGB通道中每个通道的每个可能值如何显示在屏幕上,并可将其转换为不同的值。它的工作方式类似于Photoshop" Curves"工具。通过使用正确的转移表,可以反转屏幕,调整色调或增强对比度。

由于传输表是图形硬件的一部分并且始终处于活动状态,因此所涉及的性能开销为零。在Mac OS上实际上有两个转移表:一个用于应用程序,另一个用于操作系统。

  

如何更改屏幕上每个像素的强度/色调

没有越狱,你就可以。