4、CMYK色彩空间
印刷色 · 减色模型 · 青品黄黑
CMYK(青 Cyan、品红 Magenta、黄 Yellow、黑 Key)是彩色印刷与打印领域最核心的色彩空间。与屏幕发光的 RGB 不同,CMYK 依靠油墨吸收光线来呈现颜色,属于减色混合。本章深入剖析 CMYK 原理、印刷色值以及 RGB 与 CMYK 的关键差异。
▎CMYK 减色原理
当白光照射到印刷品上,油墨会吸收特定波长的光,剩余反射光进入人眼形成色彩。理论上 C+M+Y 叠加得到黑色,但实际呈现深褐色,因此引入黑色通道(K)提升对比度与细节。
▎印刷色与网点
印刷通过半色调网点模拟连续调,不同大小和角度的网点叠加产生丰富色彩。CMYK 四色印版分别控制油墨量。
▎RGB 与 CMYK 的差异
| 对比维度 | RGB | CMYK |
|---|---|---|
| 混合类型 | 加色混合 (光) | 减色混合 (油墨) |
| 应用领域 | 屏幕、显示器、Web | 印刷、打印、出版 |
| 颜色分量 | 红、绿、蓝 (0~255) | 青、品红、黄、黑 (0%~100%) |
| 色域范围 | 较大 (sRGB/AdobeRGB) | 较小 (受油墨限制) |
| 黑色表现 | RGB(0,0,0) 纯黑 | 高K值 + 节省油墨 |
| 典型文件 | PNG, JPEG, WebP | TIFF, PDF, EPS |
▎RGB → CMYK 转换公式
标准转换先归一化 RGB 至 [0,1],计算 K = 1 - max(R,G,B),再求 C,M,Y。
# Python 示例:RGB 转 CMYK
def rgb_to_cmyk(r, g, b):
# 归一化
r_norm = r / 255.0
g_norm = g / 255.0
b_norm = b / 255.0
k = 1 - max(r_norm, g_norm, b_norm)
if k == 1:
return 0, 0, 0, 100
c = (1 - r_norm - k) / (1 - k) * 100
m = (1 - g_norm - k) / (1 - k) * 100
y = (1 - b_norm - k) / (1 - k) * 100
return round(c,1), round(m,1), round(y,1), round(k*100,1)
# 示例:纯红 (255,0,0) → (0, 99.6, 100, 0)
print(rgb_to_cmyk(255, 0, 0))
▎印刷色值示例
▎印刷注意事项
- 总墨量限制:通常 C+M+Y+K ≤ 300%,避免纸张过湿。
- 灰平衡:使用特定 CMY 比例得到中性灰,减少偏色。
- 陷印 (Trapping):相邻颜色略微重叠,防止套印不准露白。
- 专色 vs 印刷色:CMYK 无法呈现金属色、荧光色,需用专色。