【问题标题】:Colour space matching iOS色彩空间匹配 iOS
【发布时间】:2015-02-08 22:56:11
【问题描述】:

我有一个紫色的设计,其十六进制值为#ae359f。

我将此十六进制转换为 UIColor,将其加载到模拟器上并截取屏幕截图。

我在 Photoshop 中打开设计和屏幕截图,并使用吸管,它们的十六进制值都是相同的 #ae359f,但是它们的颜色明显不同。

一定是色彩空间问题 - 我已经阅读了几次,但仍然没有真正理解。如果它在同一设备上,为什么 f #ae359f 不能在任何地方都相同!这是谁的错。

所以,问题是......我怎样才能让 UIColor 看起来像 Adob​​eRGB 值 - 我认为我可以在界面生成器中做到......

【问题讨论】:

    标签: ios core-graphics color-space color-management cgcolorspace


    【解决方案1】:

    此图形堆栈中的 iOS 不支持颜色管理。 Quartz 等人会将您的颜色视为 sRGB。

    可以为 Adob​​eRGB -> sRGB 引入一个转换例程,但简单的方法是只提供 sRGB 值中的颜色。


    reference 末尾有一点免责声明。

    色彩空间和 IOS

    iOS 不支持 ColorSync,因此所有资源都应在本机设备色彩空间中提供:sRGB。

    此技术说明中的更多信息:https://developer.apple.com/library/ios/technotes/tn2313/_index.html

    【讨论】:

    • 干杯。我最终只是将我的屏幕截图粘贴到 Photoshop 中,然后将设计中的颜色棉签粘贴到同一个 Photoshop 文档中——它引发了一些颜色配置文件警告……我接受了。然后我只是对它们进行了眼药水并将十六进制放入iOS。它奏效了……尽管这似乎是一个荒谬而复杂的过程。
    • @bandejapaisa 不客气。使用 Digital Color Meter,您可以将其配置为使用 sRGB 和 hex 并使用其吸管。节省了几个步骤。
    • 优秀。不知道我有这个数字色度计。感谢您的提示。