Delta E 2000 是一個單一數字 — 由 CIEDE2000 公式產生 — 用來表示兩個 CIELAB 色彩之間的差異程度,0 代表完全相同,數值越大表示計算出的差異越大。

色彩差異計算器是為需要從兩個不透明的 HEX 色彩取得該數字、卻不想先學習色彩學的初學者所設計。你貼上一個 #RRGGBB 值,再貼上另一個,按下比較,頁面就會回報 Delta E 2000 數值,以及用於計算的 D50 適配 CIELAB 座標。所有運作都在你的瀏覽器中完成,因此兩個色彩值都不會離開你的裝置。在預設條件下(kL = kC = kH = 1),結果是可重現的;對於相同的輸入具有對稱性;並且奠基於 Sharma、Wu 與 Dalal 資料集中所記錄的標準 CIEDE2000 實作。然而,這個工具並不會聲稱任何特定數字代表通過、失敗或「足夠好」 — 這樣的判斷屬於你的工作流程、容差,以及被比較色彩的實際觀看條件。請將這個頁面視為快速、具確定性的比較輔助工具,而不是分光光度計或校準顯示器的替代品。

color difference calculator for beginners
color difference calculator for beginners

用白話解釋 CIEDE2000 與 Delta E 2000

CIEDE2000 是 CIE(國際照明委員會)於 2001 年發表的色彩差異公式的簡稱。它奠基於較早期的 1976 年 ΔE 公式,後者只是單純測量 CIELAB 空間中兩點之間的直線歐氏距離。2000 年的修訂版修正了原始公式的數個感知問題:它在接近中性灰時調整 a* 軸,分別加權亮度、色度與色相的差異,處理跨越 360°/0° 邊界的色相角度,並針對人類視覺最敏感的藍色區域加入一個旋轉項。Delta E 2000 — 通常寫作 ΔE₂₀₀₀ 或 dE2000 — 就是該公式所回傳的單一數字。

這個數字沒有單位,也沒有通用的通過/失敗門檻。值為 0 表示在計算下兩個輸入產生相同的 CIELAB 座標。值為 1 表示根據公式的判斷,兩個輸入非常接近。值為 5 表示在大多數觀察者並排觀看時,差異清晰可辨。較高的值表示公式定義下的差異更大,但什麼算是「可接受」,取決於你是在檢查品牌色彩、比較布料上的油墨、審閱印刷打樣,或是驗證設計標記的修訂。介紹這個公式的 Sharma、Wu 與 Dalal 論文也發表了一份補充資料集,用以驗證各種實作 — 而這個計算器會以其中八組參考配對進行自我檢核。

為何輸入嚴格限制為六位數不透明 sRGB

這個計算器只接受一種格式的色彩值:一個井字號開頭加上六個十六進位數字,例如 #1F4E79。它不接受三位數簡寫如 #FFF、帶透明通道的八位數 HEX 如 #1F4E79CC、色彩名稱如 "navy"、RGB 三元組、HSL 值或 display-p3 輸入。其他任何格式都會產生明確的錯誤,且不會回傳結果。

這種狹隘性是一項特性,而非限制。那些被拒絕的格式每一種都會迫使計算器做出隱藏的假設 — 例如 #FFF 表示 #FFFFFF、80 的 alpha 通道代表在某個未知背景上的特定合成結果、「navy」對應到某個特定的 sRGB 三元組。拒絕它們能讓輸入的色彩空間與不透明度保持明確。你所要求的比較,就是你所得到的比較,兩者之間沒有任何解析上的魔法。

如果透明度對你的比較很重要,契約很明確:先將兩個色彩合成在相同的已知背景上,再輸入合成後產生的不透明 HEX 值。計算器無法將兩個半透明色彩平均成一個不透明色彩,因為若不知道它們下方的表面,就沒有規範的方法可以做到。

輸入格式範例是否接受原因
六位數不透明 HEX#1F4E79精確的不透明 sRGB 色彩
三位數簡寫#4E7展開過程會變成隱含
帶 alpha 的八位數#1F4E79CC不透明度需要一個背景
CSS 色彩名稱navy需要固定的對照表
RGB 函式rgb(31, 78, 121)語法不同,解析器也不同
display-p3 函式color(display-p3 …)不同的色彩空間

在計算器中執行你的第一次比較

進行第一次比較時,你需要兩個想要評估的 HEX 值。它們可以來自樣式指南、Figma 匯出、螢幕截圖的吸管工具,或任何會提供六位數代碼的地方。開啟色彩差異計算器並依下列步驟操作。

  1. 輸入兩個不透明的六位數 sRGB HEX 色彩,每個都包含前導 #。將第一個色彩輸入第一個欄位,第二個色彩輸入第二個欄位 — 例如一欄輸入 #1F4E79,另一欄輸入 #2A5A8A。
  2. 選擇比較色彩,將兩個值轉換為 D50 CIELAB 並計算 CIEDE2000。頁面會在本地轉換你的輸入,並回報 Delta E 2000 數值,以及每個色彩的 L*、a*、b* 三元組。
  3. 記錄原始的 HEX 值與 Delta E 2000 結果,並附上你的工作流程容差與觀看情境。複製兩個 HEX 代碼、回報的數字,以及關於色彩使用位置的註記(螢幕上、銅版紙上、布料上),以便日後能重現或稽核此次比較。

這就是完整的初學者工作流程。兩個輸入、一個按鈕、一個數字,如果需要的話再加上 Lab 三元組。如需更深入的逐步說明,如何計算兩個 HEX 值之間的色彩差異指南以額外範例涵蓋了相同的步驟。

從 HEX 到 Delta E 2000 數字的轉換路徑

當你按下比較,頁面會執行 W3C CSS Color 4 轉換程式碼中所定義的固定管線。你 HEX 字串中的每個 sRGB 通道會先正規化為 0 到 1 之間的數字,再透過 sRGB 轉換函式進行線性化,使運算發生在物理光線空間而非感知 gamma 空間中。三個線性化通道接著會乘入相對於 D65 標準光源的 CIE XYZ — D65 是定義 sRGB 色彩空間的白點。

接著,計算器使用 Bradford 矩陣將該 D65 XYZ 適配至 D50 標準光源。這個步驟很重要,因為 CIELAB 是相對於 D50 所定義的,若略過適配步驟,所產生的 Lab 值會與色彩學文獻所預期的略有不同。一旦數值進入 D50 XYZ,頁面會使用標準的立方根公式將其轉換為 CIELAB,得到 L*、a* 與 b* 座標。

頁面上顯示的 L*、a*、b* 值是為了可讀性而經過四捨五入;未四捨五入的版本會繼續送入 CIEDE2000 公式。該公式比單純的歐氏距離更為複雜 — 它會在接近中性時調整 a* 軸,處理跨越零度邊界的色相角度,以預設的 kL = kC = kH = 1 參數對亮度、色度與色相進行加權,並對藍色區域套用一個旋轉項。對初學者來說,重點在於「Delta E 2000」並非一個能畫在尺上的距離 — 它是一個經過仔細加權的感知比較,其驗證依據為羅徹斯特大學CIEDE2000 實作資料中所引用的 Sharma、Wu 與 Dalal 補充資料集。

解讀數字:較高與較低的值告訴你什麼

Delta E 2000 為 0 表示兩個輸入產生相同的 Lab 座標 — 計算器在任何色彩與自身比較時都會回傳這個值。較小的數字(通常低於 1)表示在公式的判斷下輸入非常接近;訓練有素的觀察者在良好照明下可能看不出差異。較大的數字表示公式判定差距在感知上具有意義,但這條界線究竟落在哪裡,取決於觀看條件以及你對該工作流程的容差。

正因如此,計算器刻意不在輸出上標記通過/失敗的標籤。不同的生產製程接受不同的容差。在螢幕上檢查品牌色彩的平面設計師通常會尋求非常小的數值;在受控光源下比較乾膜樣本的塗料製造商所接受的數值,可能在布料印刷中完全不可接受。這個數字是一項可重現的比較輔助,而非保證兩個實體樣本會相符。

如果你要比較許多色彩配對,請將數字連同觀看情境一起記錄,然後設定符合你特定使用情境的容差門檻。兩組具有相同 Delta E 2000 的配對,可能在一個情境下「可接受」,在另一個情境下「不可接受」,因為公式並不知道表面、周圍色彩、環境光或觀察者視力的相關資訊。

計算器刻意不做的事

這是一個確定性的用戶端計算器,而非測量裝置。它不會從影像中讀取像素、不會從照片中挑選色彩,也不會推測印表機的設定檔。它不會檢查 WCAG 對比比率 — 對於文字可讀性,專用的色彩對比檢查器才是合適的工具。它不會雙向轉換色彩空間,僅執行固定的 sRGB 到 Lab 路徑;對於螢幕到印刷的近似,RGB 轉 CMYK 轉換器可滿足這項需求。它不會認證、核准或拒絕一組色彩配對 — 這只有你、你的容差以及你的生產製程能夠決定。

它也不會承諾相同的 Delta E 2000 在每台顯示器上看起來都一樣。瀏覽器渲染、顯示器色域、色彩設定檔、亮度與校準都會影響你在螢幕上所看到的結果。數值結果僅根據你所輸入的 sRGB 座標以及有文件記載的轉換路徑而得。請將它用作數學輔助與記錄工具,而非作為實體樣本的證據。

記錄一項比較以便他人能重現

由於計算器具有可重現性,你記錄比較的方式與數字本身同樣重要。一份有用的紀錄包含四個項目:第一個 HEX 值、第二個 HEX 值、Delta E 2000 結果,以及色彩將被觀看的情境。該情境可以簡單如「在螢幕上,sRGB 顯示器」,也可以具體如「銅版紙,D50 光源,ISO 12647-2 容差」。

若沒有情境,這個數字只是個有趣的數據。有了情境,這個數字就成為你的同事、印刷廠或未來的你自己能透過開啟同一個計算器、輸入相同的兩個 HEX 值並看到相同輸出來驗證的決策依據。

如果你正在權衡各種選項,網頁設計調色盤產生器:從 HEX 到 UI對此有詳細說明。