苹果认为更重要的是到处的颜色看起来都一样比颜色到处都有相同的 RGB 值。你看,相同的 RGB 值在不同的屏幕上看起来不会一样,因为每个屏幕都有不同的显示特性。
因此,当您截取屏幕截图时,Apple 不仅会存储图像中每个像素的 RGB 值,还会将显示器的显示特性存储在图像文件中。那有什么用呢?如果其他人打开您的屏幕截图,系统可以查看创建它的人的显示器特征,将其与想要观看它的人的显示器的显示器特征进行比较,然后可以计算出它必须如何采用 RGB 值使图像在当前显示器上看起来相同。如果它只是显示 RGB 值而不执行任何操作,则图像颜色可能看起来错误(在某些情况下只有轻微错误,在某些情况下更多,如果用户的显示器非常糟糕,在某些情况下甚至完全错误) 。
因此系统会向图形适配器发送不同的 RGB 值,因为 RGB 颜色本身并不能真正描述颜色。 RGB 值与显示器配置文件一起确实描述了颜色,但重要的不是 RGB 值,而是颜色。如果我制作红色的东西,我希望它在每台显示器上都是相同的红色阴影。我不希望在一台显示器上显示较深的红色,在另一台显示器上显示较浅的红色,在第三台显示器上显示接近粉红色的红色。
Photoshop 的问题在于它有自己的内置色彩校正机制。 Photoshop 通常在 sRGB(标准 RGB 色彩空间)或 Adobe RGB(Adobe 发明的扩展色彩空间)下工作。当您加载不在所需色彩空间内的图像时,Photoshop 将转换图像的色彩空间,并且每次色彩空间转换都会导致 RGB 值发生变化。请注意,Photoshop 中显示的图像仍然根据您当前的显示器颜色特征进行颜色校正,这只是您在 Photoshop 中操作的 RGB 值位于另一个颜色空间中,当存储回文件时,Photoshop 会将这些值转换回来或它将保留它们并将新的颜色配置文件嵌入到图像文件中。
单独使用 RGB 来描述颜色的时代已经结束很多年了。如今,RGB 本身毫无意义,只有与颜色配置文件结合使用时,它在描述实际颜色时才变得真正有意义。
如果您想要不嵌入真实颜色配置文件的屏幕截图,请执行以下操作:
- 打开“系统偏好设置”
- 转到“显示”
- 转到“颜色”
- 选择“通用 RGB 配置文件”
- 制作你的截图
- 改回您的个人资料
在更改配置文件之前可能需要先退出 Xcode(并在更改回来后重新启动它),因为我不确定更改配置文件是否会立即生效。它肯定会立即影响显示器上的显示方式,但如果您想通过选择特定的 RGB 值在 Xcode 中选择颜色,我不确定配置文件更改是否也会立即生效(您可以给它尝试不重新启动,如果不起作用,则必须重新启动重复)。
但这仍可能导致 Photoshop 中的颜色不正确,因为 Photoshop 仍可能将颜色转换为 sRGB 或 Adobe RGB。因此,您可能不想选择“通用 RGB 配置文件”,而是选择“sRGB”配置文件(根据您的 OS X 版本,也可能被命名为“sRGB IEC61966-2.1”)。这样图像就已经处于 sRGB 色彩空间中。您只需说服 Photoshop 保持这种方式(而不是将其转换为 Adobe RGB),然后您就会在 Xcode 和 Photoshop 中真正看到相同的 RGB 值。
请注意更改颜色配置文件如何使您的显示器看起来完全不同?你认为颜色变化很大吗?相信我,与不同的显示器有时会改变颜色相比,这根本不算什么。也许您现在可以理解为什么色彩校正如此重要了。那么问题是,为什么 RGB 值对您来说如此重要?只要显示的颜色相同,RGB 值就相同,这真的很重要吗?