Appearance
色彩学
概念
色彩是光进入眼睛后产生的主观感受,它的物理基础是可见光的波长分布。同一块颜色,换一种光源、换一个背景、换一双眼睛,感受都会变化——所以色彩学必须同时处理物理量(波长、辐射强度)与感知量(明度、鲜艳程度、冷暖)。
三个最常用的描述体系:
| 体系 | 面向 | 三个分量 | 典型用途 |
|---|---|---|---|
| RGB | 设备发光 | 红、绿、蓝(0–255) | 屏幕、摄像头 |
| HSV / HSL | 人的直觉 | 色相、饱和度、(明度/亮度) | 调色、选色器 |
| CMYK | 印刷吸光 | 青、品红、黄、黑(0–100%) | 印刷、喷绘 |
为什么要有三套:RGB 是"怎么造出这个颜色",CMYK 是"怎么印出这个颜色",HSV 是"怎么描述这个颜色"。画者调色的思路天然是 HSV 式的——"再红一点、再暗一点、再灰一点",说的正是色相、明度、饱和度的三个方向。
原理
色相、明度、饱和度:三个正交方向
色相 H(Hue):颜色的"名称",用 0°–360° 的色环表示。红 0°、黄 60°、绿 120°、青 180°、蓝 240°、品红 300°。
饱和度 S(Saturation):颜色的纯度倾向,0 为灰、1 为最纯。加白、加灰、加互补色都会降低饱和度。
明度 V(Value,HSV 中):颜色的明暗程度,0 为黑、1 最亮。HSV 的 V 取的是通道最大值:
色相则按"谁最大"分三段计算:
- 若
: - 若
: - 若
:
HSL 的 L 与 HSV 的 V 不是一回事:
明度是可加的,色相是不可加的
人眼对三原色的敏感度并不相同:绿色最亮、红色次之、蓝色最暗。相对亮度就是把 sRGB 的非线性数值先线性化,再加权求和:
线性化的分段公式(sRGB 标准):
这套伽马(幂次约 2.2)的存在,使得"数值 128"并不等于"亮度一半"。这一点在设计与摄影里反复用到(详见数字图像处理)。
有了相对亮度,就能算 WCAG 定义的对比度:
它直接决定了文字与背景的可读性,是唯一可以用一个数字说清"配得看不看得清"的指标。
配色规律
色相环上的角度差,决定了配色关系的性格:
| 关系 | 色相差 | 性格 |
|---|---|---|
| 同类色 | 0°–15° | 最稳、最平,靠明度与纯度拉层次 |
| 邻近色 | 15°–45° | 和谐、易配 |
| 中差色 | 45°–90° | 有一定张力 |
| 对比色 | 90°–150° | 强烈、活泼 |
| 互补色 | 180° | 最强烈,也最容易脏、最容易刺眼 |
| 分裂互补 | 150° / 210°(各偏 30°) | 保留互补的张力但更耐看 |
面积分配上常用 60-30-10 法则:主色占约 60%、辅助色约 30%、点缀色约 10%。互补色若各占一半,画面会互相打架——所以互补色通常只给到 10% 的点缀份额。
色彩的冷暖与心理
- 色温来自黑体辐射:温度越低越偏红黄(暖),越高越偏蓝(冷)。所以色温高 = 视觉冷,这和"热水烫 = 暖"的日常直觉恰好相反,初学极易记反。
- 冷暖是相对判断,不是绝对属性:同一块灰,放在红旁边显得冷,放在蓝旁边显得暖。
- 同时对比:相邻两色会互相把对方推向自己的补色方向。
- 面积错觉:高明度、高饱和、暖色显大、显近、显前;低明度、低饱和、冷色显小、显远、显退。
示例
例 1:五个颜色的 RGB → HSV / HSL 换算
| RGB | max | min | H | S(HSV) | V | L(HSL) | S(HSL) |
|---|---|---|---|---|---|---|---|
| (255, 0, 0) | 1.0000 | 0 | 0.00° | 1.0000 | 1.0000 | 0.5000 | 1.0000 |
| (64, 128, 192) | 0.7529 | 0.2510 | 210.00° | 0.6667 | 0.7529 | 0.5020 | 0.5039 |
| (200, 150, 100) | 0.7843 | 0.3922 | 30.00° | 0.5000 | 0.7843 | 0.5882 | 0.4762 |
| (128, 128, 128) | 0.5020 | 0.5020 | 0(无意义) | 0.0000 | 0.5020 | 0.5020 | 0 |
| (0, 255, 0) | 1.0000 | 0 | 120.00° | 1.0000 | 1.0000 | 0.5000 | 1.0000 |
第 2 行的完整推导:
, ; 是 B(蓝),走第三段公式: ; , 。
第 3 行验证"
第 4 行说明一件重要的事:
例 2:相对亮度与对比度
对灰阶逐个算(
| 颜色 | 8 位值 | 线性值 | 相对亮度 | 与白的对比度 | 与黑的对比度 |
|---|---|---|---|---|---|
| 纯白 | 255 | 1.0000 | 1.0000 | 1.00 | 21.00 |
| 纯黑 | 0 | 0.0000 | 0.0000 | 21.00 | 1.00 |
#777777 | 119 | 0.1845 | 0.1845 | 4.4781 | 4.6895 |
#767676 | 118 | 0.1812 | 0.1812 | 4.5422 | 4.6233 |
#808080 | 128 | 0.2159 | 0.2159 | 3.9494 | 5.3172 |
纯红 #FF0000 | 255 | 0.2126 | 0.2126 | 3.9985 | 5.2520 |
纯蓝 #0000FF | 255 | 0.0722 | 0.0722 | 8.5925 | 2.4440 |
#808080 的推导:
这张表最有价值的两个结论:
- 纯红与纯蓝的亮度差可达 2.9 倍(0.2126 vs 0.0722)——"红更亮、蓝更暗"是生理事实,所以同样粗细的红字与蓝字,白底上红字更难读。
- WCAG AA 级的 4.5:1 门槛正好卡在
#767676与#777777之间:前者 4.5422 通过、后者 4.4781 不通过。差一个 8 位数值的一级灰,就是"合规"与"不合规"的分界——这就是为什么"凭感觉调灰"做不出合格的无障碍配色。
例 3:伽马造成的"数值一半 ≠ 亮度一半"
线性亮度 0.5 编码成 sRGB:
反向验证:
结论:屏幕上的"中灰"不是 128,而是 188 附近。凡是"一半亮度"的算法(淡出、叠色、阴影),都必须在线性空间里做,否则结果偏暗。
例 4:RGB → CMYK(印刷四色)
设 RGB(200,150,100):
(≈ 21.57%)**
即 CMYK = (0, 25, 50, 22)。C = 0 说明这个橙黄色在印刷上不需要加青——青是红的补色,红多则青少,这是互补色关系在印刷上的直接体现。
例 5:色温与黑体辐射峰值波长
由维恩位移定律
| 色温 | 峰值波长 | 位置 |
|---|---|---|
| 3000 K(白炽灯) | 965.92 nm | 红外——可见区只剩红端尾巴 |
| 5500 K(日光) | 526.87 nm | 绿——正好在人眼最敏感处 |
| 6500 K(阴天) | 445.81 nm | 蓝紫——所以阴影偏蓝 |
这张表解释了一个日常现象:钨丝灯把大部分能量辐射进红外,可见光里又只剩红端,所以它又黄又费电;而日光峰值在 526.87 nm 的绿区,人眼视锥细胞对这一段最敏感,"自然光看着舒服"是可以算出来的。
白平衡的修正常用**微倒度(mired)**表示:
要点
要点与常见误区
- HSV 的 V 与 HSL 的 L 是两套定义:
、 。在同一份设计稿里混用,颜色一定对不上。 时色相无定义:灰色的 H 值取 0 是程序约定,不代表它是红色。判"是不是灰"要看饱和度是否为 0。- 饱和度降低有三条路:加白(变浅)、加黑(变暗)、加互补色(变浊)。三者结果不同,"降纯"不等于"调暗"。
- 明度不可凭数值比较:
#FF0000与#0000FF的 8 位值都是 255,相对亮度却是 0.2126 vs 0.0722(差 2.9 倍)。配色时用相对亮度判断轻重,不要用 RGB 数值。 - 对比度 4.5:1 是 WCAG AA 的正文门槛,分界线精确落在
#767676(4.5422,过)与#777777(4.4781,不过)之间。大字号(≥ 24 px 或 ≥ 18.66 px 粗体)可降到 3:1。 - "数值一半 ≠ 亮度一半":线性 0.5 对应 sRGB 188 而非 128。所有与亮度相关的运算都要先线性化,再编码回去。
- 色温高 = 视觉冷,色温低 = 视觉暖:3000 K 的灯是暖黄光,6500 K 是冷白光。这个方向与日常温度直觉相反。
- 互补色(色相差 180°)只适合做点缀:大面积互补必打架;设计上通常用 60-30-10 分配,或改用分裂互补(150°/210°)。
- 印刷是减色混合、屏幕是加色混合:屏幕三色全开是白,油墨三色全涂是黑(所以印刷需要独立的 K 版)。同一组 RGB 转 CMYK 后颜色会变,这不是 bug,是媒介差异。
- 色彩感觉是相对的:离开背景谈"这个颜色好不好看"没有意义——同时对比会让同一块色在不同环境里读起来完全不同。
小结
- 三套体系:RGB 面向发光设备、CMYK 面向印刷、HSV/HSL 面向人的直觉;同一颜色在三套里的数值互不相同。
- HSV 定义:
、 ,色相按"谁最大"分三段, 在 时无定义。 - 相对亮度
;绿最亮(0.7152)、蓝最暗(0.0722);纯红与纯蓝亮度差 2.9 倍。 - 对比度
,黑白极限 21:1;AA 门槛 4.5:1 卡在#767676(4.5422)与#777777(4.4781)之间。 - 伽马使"线性 0.5 → sRGB 188",数值一半不是亮度一半。
- 配色按色相差分档:同类 0–15°、邻近 15–45°、中差 45–90°、对比 90–150°、互补 180°、分裂互补 150°/210°;面积按 60-30-10 分配。
- 色温由维恩位移定律决定:3000 K → 965.92 nm(红外)、5500 K → 526.87 nm(绿)、6500 K → 445.81 nm(蓝紫);色温高偏冷。
下一篇:透视学
评论(0)
当前浏览器不允许本地存储,评论无法保存。
还没有评论,来说两句。