RGB 是加色的、由光构成;CMYK 是减色的、由油墨构成。在印刷之前,每个屏幕设计都会进行这种转换。
如何将 RGB 转换为 CMYK
- 归一化通道:将 R、G、B 除以 255。
- 取归一化后最大的通道并计算黑键 K = 1 − max。
- 通过去掉那部分黑色来推导青、品红和黄:C = (1 − R − K) / (1 − K),其余类推。
- 将四个数值转换为 0 到 100 的百分比。
示例演示
RGB rgb(52, 73, 94)=CMYK cmyk(45%, 22%, 0%, 63%)
这是在没有颜色配置文件下的数学近似。印刷厂使用 ICC 配置文件和墨水限制,所以这些数值是可靠的参考,而不是可直接送印的分色文件。
RGB 与 CMYK 说明
RGB 是什么?
RGB 用三个光通道来描述颜色——红、绿、蓝——每个从 0 到 255。它反映了屏幕的实际工作方式:三个通道都为 255 为白色,全部为 0 为黑色。当你需要用数值进行计算时,RGB 是合适的选择,rgba() 则在其上增加了透明度。
- 语法:
- rgb(R, G, B)
- 范围:
- 每个通道 0–255
- 适合用于:
- 代码、canvas、使用 rgba() 的透明度
CMYK 是什么?
CMYK 是印刷中使用的四墨模型:青(cyan)、品红(magenta)、黄(yellow)和关键黑(key/black),每项以 0–100% 的百分比表示。油墨是减法吸收光线而不是发光,因此 CMYK 覆盖的颜色少于屏幕——这也是鲜艳的屏幕颜色在印刷后常常显得更暗淡的原因。
- 语法:
- cmyk(C%, M%, Y%, K%)
- 范围:
- 每种墨水 0–100%
- 适合用于:
- 印刷、包装、印前成品
RGB 到 CMYK 参考表
最常见的 CSS 颜色,已从 RGB 转换为 CMYK。
| 颜色 | RGB | CMYK |
|---|---|---|
| black | rgb(0, 0, 0) | cmyk(0%, 0%, 0%, 100%) |
| white | rgb(255, 255, 255) | cmyk(0%, 0%, 0%, 0%) |
| red | rgb(255, 0, 0) | cmyk(0%, 100%, 100%, 0%) |
| lime | rgb(0, 255, 0) | cmyk(100%, 0%, 100%, 0%) |
| blue | rgb(0, 0, 255) | cmyk(100%, 100%, 0%, 0%) |
| yellow | rgb(255, 255, 0) | cmyk(0%, 0%, 100%, 0%) |
| orange | rgb(255, 165, 0) | cmyk(0%, 35%, 100%, 0%) |
| teal | rgb(0, 128, 128) | cmyk(100%, 0%, 0%, 50%) |
| purple | rgb(128, 0, 128) | cmyk(0%, 100%, 0%, 50%) |
| gray | rgb(128, 128, 128) | cmyk(0%, 0%, 0%, 50%) |