Interface Builder中deviceRGB和calibratedRGB之间的区别?

时间:2014-01-09 16:32:56

标签: ios cocoa-touch interface-builder uicolor

在我的故事板中,我看到一些colorSpace deviceRGB的颜色,我看到其他颜色空间为calibratedRGB的颜色。我从来没有指定颜色使用其中任何一种,它只是神奇地设置。问题是,似乎随机指定哪种颜色。

有什么区别?
Interface Builder如何知道使用哪个?

<color key="backgroundColor" red="1" green="0.75" blue="0.75" alpha="1" colorSpace="deviceRGB"/>

<color key="backgroundColor" red="1" green="0.75" blue="0.75" alpha="1" colorSpace="calibratedRGB"/>

1 个答案:

答案 0 :(得分:4)

色彩空间是指在设备之间或设备内匹配颜色的方法。

每台设备 - 手机,打印机,扫描仪,电脑等等 - 都以自己的方式显示颜色。设备的显示颜色的方法将由Apple的“设备”颜色空间引用。

如果您曾经使用过打印机或扫描仪附带的软件,它会要求您“校准”您的显示器,比如说软件会尝试使用“校准”的色彩空间 - 这是一种确保无论使用何种设备,颜色都显示完全相同。 (在这种情况下,软件会尝试确保您的打印机或扫描仪的输出与您在使用软件时在计算机屏幕上看到的内容完全匹配。)

我现在无法真正回答为什么Apple会在不同的地方设置一个或另一个,但这些文件可能有所帮助:

Apple Developer doc解释整体颜色,包括颜色空间和与颜色匹配相关的问题。 (这是旧的 - 2005年7月的最后更新 - 但仍在其他Apple文档中引用。)

Color Management Overview

关于iOS开发的颜色细节的当前Apple Developer doc(最后更新于2013年12月)。 (有一个名为“颜色和颜色空间”的特定部分。)

Quartz 2D Programming Guide

最后,Apple的CGColorSpace类引用(最后更新于2013年8月)。在继续进入课程细节之前,它会快速总结颜色和颜色空间。

CGColorSpace Reference