如果您熟悉顏色配置文件(ICC配置文件),您可能知道,存在表示顏色(XYZ,L * a * b *)和特定於設備的「絕對單位」單位(RGB,CMYK ...),這可能意味着任何真實的顏色(除非使用ICC配置文件指定)。Web的顏色配置文件
但是在網絡上,我們通常使用RGB單位(例如在CSS中或繪製到畫布上時),而不指定任何顏色配置文件。它是在什麼地方定義的,整個網絡使用sRGB或其他顏色空間?
如果您熟悉顏色配置文件(ICC配置文件),您可能知道,存在表示顏色(XYZ,L * a * b *)和特定於設備的「絕對單位」單位(RGB,CMYK ...),這可能意味着任何真實的顏色(除非使用ICC配置文件指定)。Web的顏色配置文件
但是在網絡上,我們通常使用RGB單位(例如在CSS中或繪製到畫布上時),而不指定任何顏色配置文件。它是在什麼地方定義的,整個網絡使用sRGB或其他顏色空間?
找到你的問題有些寬泛,這是不可能給出一個句子回答。
因此,讓我們去the specs:
所有RGB顏色在sRGB色彩空間中指定的(參見[SRGB])。用戶代理可以與它們所代表這些顏色的保真度各不相同,但使用的sRGB提供的顏色應該是什麼
所以這告訴爲sRGB CSS <color>
預期的明確和客觀衡量的定義,有一些變種。
什麼變種?
嗯e.g in safari,瀏覽器可以訪問當前使用的監視器的顏色配置文件,並且它將使用它通過此用戶設置的顏色配置文件調整創作值以匹配sRGB輸出。
Firefox has some flags to do the same.
注意,有一個feature request添加color-profile
CSS規則,以允許作者定義顏色配置文件,以在頁面上使用。
這對CSS <color>
,但這並不是只在顏色在網頁中定義的地方。
大多數瀏覽器現在做閱讀嵌入圖像,在<img>
元素時顯示的顏色配置文件。
但是,由於您用canvas標記了您的問題,所以應該注意,此顏色配置文件信息當前正在由瀏覽器在畫布上繪製時丟棄。
再次,有一個pending feature request向2DContext添加更多選項。其中一個選項是顏色配置文件。
目前,只有Chrome是in the process of implementing it,所以很難說它會是什麼,如果有的話。
而且,由於我們在這,應該指出的是,SVG確實有一個<color-profile>
元素和@color-profile
CSS規則,這也已經被提出了CSS規範,但得到dropped in the final edition。
而且有可能也可能是關於視頻顏色管理的說明,但對於這一點,我不知道誰不支持它(IIRC這是相當罕見的,並且只允許在MP4容器)。
微軟和惠普在90年代提出將colour space for the web定義爲sRGB。從那時起,它似乎陷入了一些小的修改和澄清。
更可以在W3C CSS3 color
特別地,[節4.2.1](https://www.w3.org/TR/css3-color/#rgb-color)規範的表示「所有RGB顏色在sRGB色彩空間中指定」 。 – Alohci