4、CMYK色彩空间

印刷色 · 减色模型 · 青品黄黑

CMYK(青 Cyan、品红 Magenta、黄 Yellow、黑 Key)是彩色印刷与打印领域最核心的色彩空间。与屏幕发光的 RGB 不同,CMYK 依靠油墨吸收光线来呈现颜色,属于减色混合。本章深入剖析 CMYK 原理、印刷色值以及 RGB 与 CMYK 的关键差异。

▎CMYK 减色原理

当白光照射到印刷品上,油墨会吸收特定波长的光,剩余反射光进入人眼形成色彩。理论上 C+M+Y 叠加得到黑色,但实际呈现深褐色,因此引入黑色通道(K)提升对比度与细节。

C (青) M (品红) Y (黄) K 减色混合:油墨吸收光线

▎印刷色与网点

印刷通过半色调网点模拟连续调,不同大小和角度的网点叠加产生丰富色彩。CMYK 四色印版分别控制油墨量。

青版网点 品红版网点 黑版网点

▎RGB 与 CMYK 的差异

对比维度RGBCMYK
混合类型加色混合 (光)减色混合 (油墨)
应用领域屏幕、显示器、Web印刷、打印、出版
颜色分量红、绿、蓝 (0~255)青、品红、黄、黑 (0%~100%)
色域范围较大 (sRGB/AdobeRGB)较小 (受油墨限制)
黑色表现RGB(0,0,0) 纯黑高K值 + 节省油墨
典型文件PNG, JPEG, WebPTIFF, PDF, EPS
RGB 加色 光混合 → 更亮 CMYK 减色 油墨吸收 → 变暗

▎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))

▎印刷色值示例

C100 M0 M100 Y0 Y100 K0 K100

▎印刷注意事项

  • 总墨量限制:通常 C+M+Y+K ≤ 300%,避免纸张过湿。
  • 灰平衡:使用特定 CMY 比例得到中性灰,减少偏色。
  • 陷印 (Trapping):相邻颜色略微重叠,防止套印不准露白。
  • 专色 vs 印刷色:CMYK 无法呈现金属色、荧光色,需用专色。