cmyk to rgb
cmyk to rgb

從 CMYK 轉換為 RGB

CMYK to RGB 描述的是從以印刷為導向的配色配方,轉換為近似的螢幕色彩。CMYK 描述的是印刷機上的油墨百分比:青色、洋紅色、黃色和黑色,每一個都在 0 到 100 的百分比刻度上。RGB 描述的是螢幕所使用的紅、綠、藍光強度,以 8 位元通道從 0 到 255 編碼,通常會序列化為六位數的十六進位值。因此,CMYK 到 RGB 的轉換在整個業界並不是一個單一固定的方程式,而是一系列對應關係的集合,取決於印刷機、油墨組、紙張,以及描述每個裝置的 ICC 色彩描述檔。本網站上的 CMYK To RGB 工具實作了這些對應中最簡單的一種,也就是 CSS Color Module Level 4 工作草案中所發布的 W3C「簡易」裝置 CMYK 替代方案,讓設計師不必離開瀏覽器,就能快速預覽未經描述檔處理的 CMYK 配方在 sRGB 風格螢幕上的呈現效果。它刻意被標示為一種近似值,並不能取代印刷生產所要求的、經過描述檔處理的工作流程。

設計師最常查詢「cmyk to rgb」的時機,是當他們需要從印刷商提供的 CMYK 色票快速製作螢幕模型、想將僅供印刷使用的色彩貼到網頁樣式表,或是希望看看兩個印刷配方在螢幕上看起來是否足夠接近,以共用同一個 UI 強調色。這些工作都不需要印刷等級的精準度。它們需要的是一個快速、可預期且可重現的預覽,方便複製為 RGB 或十六進位值,直接貼到 CSS、Figma 畫框或電子郵件範本中。一旦色彩進入印刷核准、品牌規格或合約目標,相同的預覽就變成錯誤的工具,此時就得改由經過描述檔處理的轉換接手。

在瀏覽器中將 CMYK 轉換為 RGB

轉換工具每次都遵循相同的三步驟流程:

  1. 將青色、洋紅色、黃色和黑色設定為 0 到 100 之間的百分比。
  2. 讀取近似的 RGB 通道、十六進位值和螢幕色塊。
  3. 當印刷精準度很重要時,改用支援 ICC 描述檔的應用程式。

開啟 CMYK To RGB 轉換工具並調整四個滑桿中的任何一個。頁面會立即更新顯示的紅、綠、藍通道、六位數十六進位值以及螢幕上的色塊。沒有提交按鈕,也沒有上傳步驟。當你有了目標值,就把 RGB 或十六進位值複製到你的模型中。若需要使用相同公式的逐步操作說明,如何將 CMYK 轉換為 RGB 並在螢幕上預覽一文涵蓋了附帶螢幕�圖的相同流程。

由於每次調整都在本機執行,你可以快速反覆嘗試:微調黑色滑桿以比較兩個幾乎相同的配方,再回到原本的 CMYK 而不會遺失狀態。這種速度正是瀏覽器預�在設計早期、探索階段有用的地方——在任何色彩被提交到印刷批次或品牌規格之前。

W3C 簡易公式如何計算每個通道

簡易的裝置 CMYK 轉換會將每一種彩色油墨與黑色油墨合併,再反相並縮放至 0 到 255 的顯示範圍。套用於紅、綠、藍各通道的公式為:

channel = (1 - min(1, ink × (1 - K) + K)) × 255

其中 ink 是相關的 CMYK 色彩分量(C 對應紅、M 對應綠、Y 對應藍),正規化至 0 到 1;K 是黑色分量,同樣正規化至 0 到 1。W3C 工作草案採用「half-even」捨入法,使著名的 firebrick 測試案例在每個符合規範的實作中都能解析為可重現的整數。

使用 W3C firebrick 參考值 cmyk(0%, 81%, 81%, 23%) 的計算範例,逐步演示如下:

  • C = 0、M = 0.81、Y = 0.81、K = 0.23
  • 紅:1 - min(1, 0 × (1 - 0.23) + 0.23) = 1 - 0.23 = 0.77 → 0.77 × 255 = 196.35 → 196
  • 綠:1 - min(1, 0.81 × (1 - 0.23) + 0.23) = 1 - min(1, 0.81 × 0.77 + 0.23) = 1 - 0.8537 = 0.1463 → 0.1463 × 255 = 37.31 → 37
  • 藍:由於 M 和 Y 相所以與綠相同 → 37
  • 結果:rgb(196, 37, 37),序列化為 #C42525

你可以把這四個百分比輸入 CMYK To RGB 工具,確認十六進位值相符,來驗證結果。任何在符合規範的實作中出現的差異,都代表使用了不同的捨入規則而非不同的公式。

端點行為與測試案例

簡易公式有一小組可預期的端點,任何符合規範的實作都必須重現。下表列出 W3C 規格用來驗證轉換工具的案例,以及對應的螢幕結果。

CMYK 輸入 近似 RGB 十六進位 說明
0%, 0%, 0%, 0% rgb(255, 255, 255) #FFFFFF 無油墨:紙張白
0%, 0%, 0%, 100% rgb(0, 0, 0) #000000 全黑:純黑
0%, 100%, 100%, 0% rgb(255, 0, 0) #FF0000 洋紅 + 黃,無青或黑:紅
0%, 81%, 81%, 23% rgb(196, 37, 37) #C42525 W3C firebrick 參考案例
100%, 0%, 0%, 0% rgb(0, 255, 255) #00FFFF 全青,無洋紅、黃或黑

如果你在轉換工具中重現這些列卻顯示出不同的值,那就是該工具採用不同公式或捨入規則的第一個跡象。W3C 替代方案保證了上表所列的精確整數通道。混合通道輸入(例如等量的青和洋紅,無黃或黑)同樣會解析為可預期的螢幕色彩,值得在採用新的轉換工具時加入個人的健全性檢查。

瀏覽器預覽何時足夠、何時不足

簡易公式刻意忽略了所有會影響實際印刷工作的因素:印刷機描述檔、油墨組、紙張、網點擴大、渲染意圖,以及嵌入的 ICC 描述檔。兩台印刷機即使執行相同的標稱 CMYK 配方,也可能產生明顯不同的紙張色彩;而未校正的螢幕預覽與實際印刷品之間的差異,往往大到無法通過品牌色彩檢查。真正的 CMYK 是一種與單一螢幕上的 RGB 不同的裝置相依色彩,這正是為何專業軟體必須透過配對的來源與目的描述檔,在 CMYK 與 RGB 之間進行轉換。

當任務屬於下列其中之一時,請使用瀏覽器預覽:

  • 從印刷商提供的色票勾勒螢幕模型。
  • 比較兩個 CMYK 配方在 sRGB 上的接近程度。
  • 為主影像、電子郵件強調色或 CSS 漸層停點挑選僅供印刷使用的色彩。
  • 在決定進行印刷打樣之前,向利害關係人粗略說明 CMYK 配方可能的呈現效果。

在以下情況,請離開瀏覽器預覽,改用支援描述檔的軟體(Photoshop、Illustrator、Acrobat、InDesign),搭配正確的 ICC 描述檔、校正過的螢幕以及實體打樣:當色彩屬於合約性質、品牌關鍵或印刷核准的一部分;當你需要有把握地在兩個幾乎相同的配方之間做選擇;或當交付物是印刷就緒檔案而非螢幕預覽時。

Adobe 在其色彩轉換與油墨管理指引中記錄了這套工作流程,而簡易公式的 W3C 來源則發布於 CSS Color Module Level 4 工作草案。對於需要在 Photoshop 中進行相同比較的設計師,在 Photoshop 中將 CMYK 轉換為 RGB 以獲得準確的螢幕預覽一文詳細說明了支援描述檔的做法。

瀏覽器預覽 vs. 支援 ICC 的轉換

下表摘要說明兩種工作流程在實務上的差異。請將其用於為工作挑選合適的工具,而非用於衡量精準度。

面向 簡易瀏覽器預覽 支援 ICC 的轉換
接受的輸入 四個 CMYK 百分比,0 到 100 CMYK 影像或數值,加上來源與目的描述檔
描述檔處理 無;退回裝置 CMYK 使用嵌入或指定的 ICC 描述檔並搭配渲染意圖
典型用途 螢幕模型、調色盤檢查、粗略 UI 工作 印刷生產、品牌色彩、合約目標
處理位置 本機瀏�器,無上傳 依應用程式而定;許多會將資料送往色彩引擎
輸出 8 位元 RGB 通道、十六進位值與色塊 經描述檔處理的 RGB(或 CMYK)數值,加上打樣報告
色彩管理需求 校正過的螢幕、印表機 ICC 描述檔與實體打樣

如果你只需要大致了解印刷配方在螢幕上的呈現,簡易預覽更快也更輕量。如果你需要一個足以擔保印刷批次的數值,那麼支援 ICC 的工作流程是唯一可接受的選項。瀏覽器預覽是一個方向性的工具;經描述檔處理的轉換則是一個量測工具。