我有一个紫色,来自十六进制值为 #ae359f 的设计。
我将这个十六进制转换为UIColor,将其加载到模拟器上并截取屏幕截图。
我在 photoshop 中打开设计和屏幕截图,并使用吸管,它们都具有相同的十六进制值 #ae359f,但是,它们是明显不同的颜色。
一定是一个色彩空间问题 - 我已经读过几次了,但仍然没有真正理解它。如果它在同一台设备上,为什么 f 不能 #ae359f 到处都一样!这是谁的错。
所以,问题是...如何使 UIColor 看起来像 AdobeRGB 值 - 我认为我可以在界面构建器中做到这一点......
此图形堆栈中的 iOS 不支持颜色管理。Quartz等人将您的颜色视为sRGB。
您可以引入 AdobeRGB -> sRGB 的转换例程,但简单的方法是仅提供 sRGB 值中的颜色。
参考的末尾有一个小免责声明。
色彩空间和 IOS
iOS 不支持 ColorSync,因此所有资产都应在本机设备颜色空间中提供:sRGB。
本技术说明中的详细信息:https://developer.apple.com/library/ios/technotes/tn2313/_index.html