把印刷调色板带到网页上在 HSL 中更容易:一旦把油墨混合表达成色相、饱和度和亮度,你可以在几秒内构建悬停态、色彩加深和减淡。
如何将 CMYK 转换为 HSL
- 将 CMYK 百分比转换为 0 到 255 的 RGB 通道。
- 把通道除以 255,取它们的最大值和最小值。
- 最大值和最小值的平均值就是亮度 L,它们的差值决定饱和度 S。
- 持有最大值的通道决定色相 H,在色轮上以度数表示。
示例演示
CMYK cmyk(36%, 77%, 0%, 25%)=HSL hsl(272, 63%, 46%)
CMYK 到 RGB 的步骤本身就是近似,且 HSL 值会被四舍五入为整数。结果是非常接近的匹配,而不是受颜色管理控制的精确转换。
CMYK 与 HSL 说明
CMYK 是什么?
CMYK 是印刷中使用的四墨模型:青(cyan)、品红(magenta)、黄(yellow)和关键黑(key/black),每项以 0–100% 的百分比表示。油墨是减法吸收光线而不是发光,因此 CMYK 覆盖的颜色少于屏幕——这也是鲜艳的屏幕颜色在印刷后常常显得更暗淡的原因。
- 语法:
- cmyk(C%, M%, Y%, K%)
- 范围:
- 每种墨水 0–100%
- 适合用于:
- 印刷、包装、印前成品
HSL 是什么?
HSL 将颜色拆分为色相(在色轮上 0–360°)、饱和度(颜色程度,0–100%)和亮度(明亮程度,0–100%)。因为每一部分都符合人们描述颜色的方式,HSL 是手动或在代码中构建色阶、色调和一致调色板的最简单格式。
- 语法:
- hsl(H, S%, L%)
- 范围:
- 0–360°,0–100%,0–100%
- 适合用于:
- 调色板、色阶与色调、主题化
CMYK 到 HSL 参考表
最常见的 CSS 颜色,已从 CMYK 转换为 HSL。
| 颜色 | CMYK | HSL |
|---|---|---|
| black | cmyk(0%, 0%, 0%, 100%) | hsl(0, 0%, 0%) |
| white | cmyk(0%, 0%, 0%, 0%) | hsl(0, 0%, 100%) |
| red | cmyk(0%, 100%, 100%, 0%) | hsl(0, 100%, 50%) |
| lime | cmyk(100%, 0%, 100%, 0%) | hsl(120, 100%, 50%) |
| blue | cmyk(100%, 100%, 0%, 0%) | hsl(240, 100%, 50%) |
| yellow | cmyk(0%, 0%, 100%, 0%) | hsl(60, 100%, 50%) |
| orange | cmyk(0%, 35%, 100%, 0%) | hsl(39, 100%, 50%) |
| teal | cmyk(100%, 0%, 0%, 50%) | hsl(180, 100%, 25%) |
| purple | cmyk(0%, 100%, 0%, 50%) | hsl(300, 100%, 25%) |
| gray | cmyk(0%, 0%, 0%, 50%) | hsl(0, 0%, 50%) |