从 Sketch 导出图像时,为什么颜色会略有变化?

从 Sketch 导出图像时,为什么颜色会略有变化?

如果我在 Sketch 中配置了颜色 #00EDC7 的资产(例如),则将其导出为 PDF(或 PNG):

在此处输入图片描述

然后我进入 Xcode,然后在界面编辑器中创建图像,创建一个视图组件,将其背景颜色设置为 #00EDC7 => 该颜色将与我导出的图像不同。

在此处输入图片描述

然后,如果我使用 Xcode 颜色选择器并选择导出的资产颜色,则找到的颜色将是 #6CE8C8

在此处输入图片描述

为什么?颜色配置?如何配置 Sketch 来避免这种情况?

答案1

您在 Xcode 中看到的是导出的图形(似乎具有 sRGB ICC 配置文件),该图形在 Display P3 色彩空间中呈现。与使用相同的 RGB 数值相比,图形中的颜色看起来更暗,因为 sRGB 的色域较窄。换句话说,其值范围从 0-255 映射到 Display P3 值的子集。另请注意,转换不一定是线性的。sRGB 中的 0, 0, 0 将转换为 Display P3 中的 0, 0, 0,而显然,您的颜色中的红色和蓝色值必须以不同的方式映射才能显示相同的感知颜色。

colorsync 实用程序屏幕截图

我没有使用 Sketch,因此无法判断它是否允许您导出具有 ICC 配置文件(sRGB、Display P3)的图形。但是,在 Xcode 的自定义颜色选择器中,您可以单击设置图标并选择要在其中定义颜色的颜色空间:

Xcode 颜色选择器颜色空间

如果您的导出应用程序仅支持 sRGB,这至少可以让您匹配颜色。如果您可以将资产导出为 16 位 Display P3 PNG 或带有嵌入 ICC 配置文件的矢量 PDF,那么您可以在这两种情况下使用 Display P3。在这种情况下,您可以将自定义颜色选择器的设置更改为 Display P3。

相关内容