如果有人讓你制作一個高為50的咖啡桌,你覺得應該怎么制作?50千米?50英尺?50英寸?50毫米?也可能是50厘米吧……你不能確定到底是什么單位,但是通過常識我們知道對于咖啡桌來說50千米、50英尺、50英寸都太大了,但是50毫米又太小。
由此可見,在傳達數值的時候一定要說清楚單位,否則只是告訴別人“50”這個數值,是沒有意義的,只有“50厘米”才傳達了具體的桌子的高度。
本文旨在給設計師和開發者介紹軟件的色彩管理,如果你能理解上述例子,那么你也理解了色彩管理概念的重要性——單說色彩數值是不足以描述色彩的,需要有色彩空間的描述。
不透明的純紅色可以以很多方式描述:網頁中是 #ff0000 或者 rgb(255,0,0);iOS系統中是 UIColor(red:1, green:0, blue:0, alpha:1);Android系統中是Color.valueOf(0xffff0000);所有這些書寫形式都是在描述同一種色彩。
然而,這些數值和文章開頭例子中的數值“50”類似,都沒有單位。“純紅色”是沒有意義的,不同顯示器對紅色的顯示程度不同,有些顯示器表現的紅色就更加鮮艷濃厚。如果想讓純紅色在不同的顯示器上看起來相同,就應該了解色彩的測量單位;就像開頭例子中增加“厘米”單位一樣,給色彩增加測量單位,以便人們對色彩在光譜中對應的位置有所感受。
色彩空間
顏色空間是將物理世界中的特定色彩映射到設備的測量系統,例如顯示器。你聽說過“sRGB”,“Adobe RGB”,“Display P3”或者“DCI-P3”嗎?這些就是色彩空間,他們就相當于開頭例子中的“厘米”。“sRGB”是很多設備的標準色彩空間;“Adobe RGB”,“Display P3”和“DCI-P3”是更寬色域的色彩空間,一般出現在新出的或者更貴的設備上。
色彩空間比二維的測量單位更加復雜,它不僅僅是定義一個尺度,它在可見光譜中為紅、綠、藍設置了一個白點、范圍和尺度,以及其他各種屬性。有許多方法可以可視化顏色輪廓,但使用3D船體是一種常見并有用的方式來顯示色彩空間。
下面是sRGB和Display P3的對比圖,sRGB顯示的顏色比顯示P3要少;通過下圖的可以看出sRGB是怎樣被P3對應和被包含的。
sRGB是下圖中彩色的部分,Display P3是外層的更大的白色的部分。
任何可以用sRGB描述的色彩都可以用Display P3描述。sRGB的#ff0000在Display P3中是#ea3323(使用不同轉換方法這個數值可能會略有不同)
然而,有些在Display P3中的有色彩在sRGB中就不存在。Display P3的色域更廣能表現的色彩更多,特別是深紅色和綠色(小編:從上圖可以看出P3在綠色和紅色部分的面積更大)。Display P3中的#ff0000用sRGB的十六進制數值無法表示,因為這個色彩在sRGB的色域范圍之外。(小編:上圖中展示了sRGB和P3中的#ff0000,即純紅色在色彩空間中的位置)
我希望上面的3D圖能說明這個重要的觀點——當把色彩放到色彩空間去描述的時候,這個色彩就是絕對的、有意義的,包含的信息也是更全面的,也給到設備有足夠的色彩信息去盡量準確地顯示色彩。
用sRGB作標準
前文我說過數值沒有單位或色彩沒有色彩空間是沒有意義的。但是這也不是絕對正確的。在很多情況下,如果沒有提供色彩空間,會有一個默認的色彩空間。
在網頁中,sRGB就是CSS和SVG默認的色彩空間。考慮到瀏覽器的行為,這個問題會變得更加復雜,但情況正得到改善。未來的規則可能會允許使用其他色彩空間。顯示P3 CSS顏色可以定義為顏色(P3 1.0 0 0 0)。
在iOS和Android系統中,sRGB也是默認的色彩空間。但是一般運行這兩種系統的設備會支持比sRGB更廣的色域和色彩空間。同時sRGB是部分macOS系統的默認色彩空間(由于一些遺留問題,macOS上情況要復雜一些)。
圖片和視頻
到現在我們一直在討論色彩,這個規律同樣適用于圖片和視頻。很多情況下,圖片和視頻應該包含色彩描述文件,否則通常默認為sRGB。為了節省磁盤空間,用戶界面圖像通常會省略嵌入的顏色配置文件,這是因為沒有配置文件的行為是已知的。
寬色域的未來
在過去,設計師和開發人員在不了解色彩管理工作原理的情況下也能湊合著過,但在未來就不會了。廣域顯示器的普及意味著色彩管理錯誤現在更加嚴重,也更加普遍。如果你有一臺新的MacBook Pro或iMac,并在某些應用中的顏色看起來過于飽和,可能就是這個原因。
如果你正在開發web、iOS和Android應用程序,那么現在有必要了解項目所處的顏色空間,并設置適合你的設計和開發環境。你很可能在sRGB下工作,這是一個好的選擇;但當轉換發生時,你要清楚你工作在什么色彩空間。
如果在一個色彩空間中選擇顏色,而不通過轉換直接在另一個色彩空間使用這些顏色,色彩的顯示就會不正確。在使用沒有色彩管理的工具時這種情況經常發生,因為它只是默認色彩空間是sRGB然后簡單地復制色值。如果出現這種情況,那么在設計圖中看起來很好看的顏色,在實際運行的軟件中就會看起來很暗淡。
盒子中的皮克斯
可汗學院(Khan Academy)的《盒子里的皮克斯》(Pixar in a Box series)系列視頻介紹了色域知識,是很好的學習色彩空間的視頻;如果你想測試下你對這方面知識的了解,視頻還包括一些測試。
如果您以前不了解色彩管理,我希望本文對您有所幫助。如果你仍然感到困惑,可以聯系我問我問題。接下來,我們將深入探討gamma值、舍入誤差以及它們與顏色管理的關系。
-- 翻譯自 bjango --