CMYK 到 RGB 到十六進位色碼這個鏈結描述了一個兩階段的轉換過程:四個裝置 CMYK 油墨百分比先變成 8 位元紅、綠、藍三個通道,接著再變成一個六位數的十六進位字串。CMYK 轉 RGB 工具使用 W3C 簡易裝置 CMYK 後備方案一次執行兩個階段,不套用任何 ICC 設定檔。每個顯示通道使用 1 - min(1, colorInk × (1 - black) + black),從四個百分比輸入標準化到 0–1 範圍,再以半偶數四捨五入方式縮放至 0–255 範圍。三個整數通道接著會序列化為兩個字元的十六進位配對(00 到 FF),所以 RGB 255, 0, 0 會變成 #FF0000。結果刻意標示為近似值:實際的 CMYK 取決於印刷機、油墨組、紙張、網點擴大、渲染意圖以及內嵌的 ICC 設定檔,當印刷準確度很重要時,必須使用具備設定檔感知能力的管線。

cmyk to rgb to hex
CMYK 轉 RGB 再轉十六進位:一次取得兩種輸出

「CMYK 到 RGB 到十六進位」真正的含義

CMYK 是印刷中使用的減法混色模型,青色、洋紅、黃色與 key(黑色)油墨在紙上結合以吸收光線。RGB 是螢幕上使用的加法混色模型,紅、綠、藍光結合以產生最終像素。十六進位表示法只是撰寫 RGB 三元組的簡潔方式:每對字元代表一個 8 位元通道,從 00(零)到 FF(255)。因此 CMYK 到 RGB 到十六進位的鏈結是一個具有三個輸出的單一概念管線:四個百分比、三個整數通道,以及六個字元的十六進位字串。

當設計師、行銷人員或開發人員搜尋「cmyk to rgb to hex」時,他們通常握有一個 CMYK 配方(常來自品牌手冊、印刷機規格表或打樣稿),並希望瞭解同一個顏色在未校準的 sRGB 風格螢幕上看起來如何,以及要將哪個十六進位色碼貼到 CSS、Figma 或 HTML 中。這兩個輸出並非獨立——每個十六進位值恰好對應一個 RGB 三元組,每個 RGB 三元組也恰好對應一個十六進位值——因此任何公開其中之一的工具,都會公開另一個。

轉換背後的 W3C 簡易公式

CMYK 轉 RGB 工具實作了 W3C CSS 顏色規範中發佈的簡易裝置 CMYK 轉換。該程序有四個輸入(青色、洋紅、黃色、黑色,每個為 0 到 100 的百分比)與三個輸出(紅、綠、藍,每個為 0 到 255 的整數,加上其十六進位序列化)。步驟如下:

  1. 將四個百分比各除以 100 進行標準化,產生 0–1 範圍的值。
  2. 對於每個彩色油墨(青、洋紅、黃),使用 colorInk × (1 - black) + black 將其與黑色結合。
  3. 將結果限制在 1 以內,從 1 減去,再乘以 255 得到對應的 RGB 通道。
  4. 使用半偶數(銀行家)四捨五入將每個通道四捨五入到最接近的整數,然後序列化為兩位數的十六進位配對。

通道到十六進位的序列化是每個網頁顏色工具所使用的相同步驟:255 變成 FF,128 變成 80,17 變成 11,依此類推。以紅綠藍順序串接三個通道並在前面加上「#」就得到最終的十六進位值。W3C 的磚紅色範例與契約的端點測試資料確認,對於混合通道以及純油墨,此公式皆與規範相符。

快速演算範例:純青色

取 CMYK (100%, 0%, 0%, 0%)。標準化後得到 c = 1,m = 0,y = 0,k = 0。紅色通道為 255 × (1 - min(1, 1 × (1 - 0) + 0)) = 255 × 0 = 0。綠色通道為 255 × (1 - min(1, 0 × 1 + 0)) = 255 × 1 = 255。藍色通道為 255 × 1 = 255。結果為 RGB (0, 255, 255) 與十六進位 #00FFFF,符合標準青色色塊。換成不同的百分比,相同的算術就會產生對應的 RGB 三元組與十六進位色碼。

如何在瀏覽器中將 CMYK 轉換為 RGB 與十六進位

瀏覽器的工作流程刻意設計得很短。四個百分比是唯一的輸入,任何滑桿一動,頁面就會立即顯示 RGB、十六進位與色塊。

  1. 開啟 CMYK 轉 RGB 工具,將青、洋紅、黃、黑四個滑桿設定為配方中的四個百分比。
  2. 讀取顯示在色塊下方的 8 位元紅、綠、藍通道值。
  3. 讀取顯示在通道旁邊或下方的六位數十六進位值;前置「#」是可選的,貼到 CSS 時可以省略。
  4. 將顯示的十六進位值用於 CSS、HTML、Figma 或程式碼編輯器中。
  5. 將色塊作為快速視覺檢查,對照在 sRGB 風格顯示器上預期的外觀。

不需要帳號、安裝或上傳。運算都在瀏覽器中進行,因此百分比永遠不會離開您的裝置。

解讀輸出:RGB 通道與十六進位色碼

由於兩個輸出來自相同的整數,您可以讀取任一格式而無需重新運算。契約定義了一小組可預期的端點,用來確認公式的行為符合規範描述:

CMYK 配方RGB 通道十六進位值
0%, 0%, 0%, 0%255, 255, 255#FFFFFF
0%, 0%, 0%, 100%0, 0, 0#000000
0%, 100%, 100%, 0%255, 0, 0#FF0000
100%, 0%, 0%, 0%0, 255, 255#00FFFF

這四列是契約的主要端點,符合 W3C 簡易後備方案的行為。任何其他配方會產生一個非角落的 RGB 三元組,其十六進位值可透過將每個通道轉換為 16 進制推導出來。例如 RGB (74, 138, 92) 變成 #4A8A5C,因為 74 是 0x4A,138 是 0x8A,92 是 0x5C。如果推導出的十六進位值看起來不如預期,最常見的原因是某個通道四捨五入到錯誤的整數——而非序列化步驟的錯誤。

為何輸出標示為近似值

CMYK 是裝置相關的顏色空間:兩台印刷機即使使用相同的 CMYK 配方,也可能因為油墨混合、紙張材質、網點擴大以及光柵影像處理器所選的渲染意圖,而產生明顯不同的紙本輸出。此工具使用的簡易後備方案會忽略所有這些變數。實際上,它是單一固定的對應關係,無論實際使用哪台印刷機,都會產生一致的 sRGB 風格預覽。這使其成為介面模擬、粗略色板比較,以及快速「在螢幕上看起來如何」檢查的理想選擇,但不適用於作為打樣稿或合約顏色目標。

具備設定檔感知的軟體(Photoshop、Illustrator、Acrobat 以及大多數印刷前處理工具)採取不同的路徑:它讀取來源 CMYK 文件的內嵌 ICC 設定檔,讀取或指派目的地 RGB 設定檔,並執行考量每個裝置實際色域的色度轉換。該管線輸出的數值 RGB 與十六進位值可能與 W3C 簡易輸出有顯著差異,特別是在飽和油墨與深色中性色方面。

何時該使用具備設定檔感知的軟體

當目標是「給我一個合理的 sRGB 十六進位值,讓我現在就能貼到程式碼中」時,使用瀏覽器工具進行快速預覽、模擬、色板草圖以及任何這類工作流程。當目標是合約顏色、品牌規格、打樣稿,或任何客戶會對照印刷品進行評判的顏色匹配時,則應使用具備設定檔感知的應用程式。該處的工作流程雖然直接但較為繁重:識別或嵌入正確的來源 CMYK 設定檔、選擇目的地 RGB 設定檔(通常是 sRGB 或特定顯示器的設定檔)、透過具備設定檔感知的應用程式執行轉換,並在經校準的顯示器上對照實體打樣進行驗證。原始的 CMYK 值應作為印刷的真相來源予以保留。

若想更深入瞭解印刷端的工作流程,包括如何在保留 CMYK 作為主要配方的同時,仍能產生可用的十六進位預覽,CMYK 轉 RGB 用於印刷:印刷端預覽工作流程指南從印刷商的角度說明相同的概念。若要檢查最終得到的十六進位色碼是否符合 WCAG 對比標準,顏色對比檢查工具可直接接受十六進位值,並回報相對於所選背景的對比比例。

CMYK 到 RGB 到十六進位的鏈結簡短、確定性高,且有 W3C 完善的文件記載。將瀏覽器結果視為忠實的螢幕預覽,而非印刷管線的替代品,輸出就會每次都符合觀眾在未校準顯示器上看到的結果。

如果您正在權衡各種選項,十六進位轉 RGB 色階與變化:讀取通道與 Alpha對此有詳細說明。