iOS 9.3颜色管理/配置文件

8
我有很多应用程序依赖于基于敲击像素的rgb值进行检查。如果我敲击返回128/128/138的像素,则会打开数组中的特定内容。但是,在使用9.3后,我收到了一些疯狂的颜色值,因此这种方法不再适用。
我做了一些调查,并发现iOS现在支持色彩配置文件。我的文件根本没有关联的配置文件,这似乎就是问题所在。
自从Retina 3以来,每个显示器返回的饱和度略有不同,我必须进行调整。但是,这揭示了一个更大的问题(至少对我来说是如此)。
是否有办法在iOS 9.3中禁用色彩配置文件管理?如果有,也许可以检查操作系统的版本并只在那时禁用它?或者添加一个配置文件(在9.3下被忽略,所以可以使用)使其能够在9.3上运行?
谢谢。
1个回答

2

你最好将任何要绘制到屏幕上并选择像素的内容转换为由CGColorSpaceCreateDeviceRGB()返回的颜色空间。使用此颜色空间,合成系统将知道不再对您的数据进行任何转换。

直接从文档中引用:“在设备相关颜色空间中的颜色在显示在输出设备上时不会被转换或修改...”。


你说你的文件没有标记。在这种情况下,你最好的猜测作为源颜色空间将是sRGB(但如果可能的话最好使用标记图像,这样你会得到更好的结果)。 - Alex
CGColorSpaceCreateDeviceRGB() 使得 Air 2 和 Pro 之间的颜色表现不同于旧设备(当然)。最终我检查了每个 RGB 值的 +1/-1 范围以返回匹配项,并且这似乎已经解决了我的问题。色彩空间现在不再是问题,设备操作系统和屏幕深度也不是问题。 - malaki1974

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接