Web的颜色配置文件

时间:2017-06-18 20:13:36

标签: css canvas colors color-profile

如果您熟悉色彩空间(ICC配置文件),您可能知道,有绝对单位"表示颜色(XYZ,L * a * b *)和设备特定单位(RGB,CMYK ...),这可能意味着任何真实颜色(除非使用ICC配置文件指定)。

但是在网络上,我们通常使用RGB单位(例如在CSS中或在绘制到画布上时)而不指定任何颜色配置文件。它是在某个地方定义的,整个网络使用sRGB还是其他一些颜色空间?

2 个答案:

答案 0 :(得分:3)

你的问题有点宽泛,不可能给它一句话答案。

让我们转到the specs

  

所有RGB颜色都在sRGB颜色空间中指定(请参阅[SRGB])。用户代理可能在它们代表这些颜色的保真度方面有所不同,但使用sRGB提供了明确且客观可测量的颜色应该是什么的定义

所以这说明了CSS <color>的sRGB是预期的,有一些变种。

有哪些变体?

e.g in Safari,浏览器可以访问当前使用的监视器的颜色配置文件,它将使用它来调整创作的值以匹配sRGB输出,通过此用户设置的颜色配置文件。 /> Firefox has some flags to do the same.

请注意,添加color-profile CSS规则有feature request,以便作者可以定义要在页面上使用的颜色配置文件。请注意,此功能请求[已被删除]在当前规范中,但可能仍会出现在将来的版本中。

这适用于CSS <color>,但这不是唯一在网页中定义颜色的地方。

现在大多数浏览器都会在<img>元素中显示时读取图像中嵌入的颜色配置文件。

但是,由于您使用 canvas 标记了您的问题,因此应该注意,当它在画布上绘制时,浏览器当前会删除此颜色配置文件信息。
再一次,有一个pending feature request可以为2DContext添加更多选项。其中一个选项是颜色配置文件 目前,只有Chrome为in the process of implementing it,因此很难确定它究竟是什么,如果有的话。

另外,既然我们在这里,应该注意svg确实有一个<color-profile>元素和一个@color-profile CSS规则,这也是针对CSS规范提出的,但得到{ {3}}

可能还有关于视频中色彩管理的注意事项,但为此,我不知道谁支持它(IIRC很少见,只允许使用mp4容器)。

答案 1 :(得分:2)

微软和惠普在1990年开始将colour space for the web定义为sRGB。从那以后,它似乎一直坚持但只是微小的修改和澄清。

更多信息可以在W3C CSS3 color

找到