色彩理论:读懂藏色助手的色轮与遮罩
这篇文章解释藏色助手为什么这样排列颜色,以及「明度检查」和「色域遮罩」究竟在帮你判断什么。它讨论的是屏幕上的数字颜色和画面组织,不是颜料调配公式。只想知道按钮怎么用,可以回到藏色助手操作说明;查单个名词可打开术语表。
一、先分清颜色的三个维度
同一块颜色至少可以从三个方向改变:
| 维度 | 你会看到什么变化 | 藏色助手中的操作 |
|---|---|---|
| 色相 | 红转橙、蓝转紫;改变颜色的类别 | 沿圆周转动 |
| 饱和度 | 从接近灰色到鲜艳 | 从圆心向外移动 |
| 明度 | 从暗到亮 | 拖动右侧竖条 |
这三个维度回答不同问题。把蓝色调得更暗,不等于把它调得更灰;把红色换成绿色,也不等于改变它在画面中的亮暗位置。画师常说的「素描关系」或 value structure,指的是亮部、中间调、暗部怎样组织主体和空间,不是一个颜色代码里的单个数字。
色轮中心的「灰」也并非永远同一种灰。右侧明度低时中心趋向深灰,明度高时趋向浅灰。先固定明度,再看圆盘上的色相和饱和度,才是在比较同一层的颜色。
二、数字颜色和人眼看到的颜色
电脑保存颜色时常用 RGB 三个通道。HEX 颜色代码只是它们的十六进制写法:#FF0000 表示红通道最大、绿蓝为零。#808080 的三个通道相等,所以是中性灰。这些数值本身并不告诉你「看起来有多亮」;还需要知道它们属于哪个颜色空间。
藏色助手的色轮以 sRGB 为目标范围。sRGB 定义了常见 RGB 数值与颜色的对应关系。换到另一种显示范围、显示器配置或周围背景后,同一串数值的视觉效果可能不同。因此色轮能提供稳定的选色坐标,却不能保证所有显示器、所有背景下的主观观感完全相同。
这里还要分开两种取色:全屏取色器读的是屏幕显示出的像素;从参考板中的图片直接取色时,读的是源文件像素,有 ICC 配置时会转换到 sRGB。参考板的透明度、缩放和灰度显示不会改掉后一条路径读到的原图颜色。两种方式取到不同值时,先确认自己要的是屏幕外观,还是图片原始数据。
三、为什么选 OKHSL,而不是常见的 HSV
传统 HSV 的 V 是三个 RGB 通道中的最大值。纯黄 #FFFF00 和纯蓝 #0000FF 的 V 都是 100%,但黄色通常显得更亮。普通 HSL 的 L 也不是严格的人眼明度:两个颜色拥有相同的 L,不代表它们在灰度观察时一样亮。
OKHSL 从 Oklab 的感知明度出发,再把可选的 sRGB 颜色排进方便操作的圆盘。右侧滑条固定的是这个模型的明度;在同一个明度切面里转动色相,亮暗感通常比 HSV / HSL 稳定。圆盘半径表示相对饱和度:外缘是当前色相与明度下仍在 sRGB 范围内的较强颜色。因此不同色相在同一半径上,未必具有完全相同的物理彩度。
这是一种取舍,不是「同圈颜色在任何条件下都等亮」的保证。色彩外观仍受背景、显示器和观看环境影响;不同灰度算法也会给出不同深浅。实际画画时,可以先沿同一明度换色相,再用下文的「明度检查」和眼睛确认焦点有没有跑掉。
四、色域遮罩圈住的是什么
这里的 色域遮罩 沿用绘画里的「有限配色范围」概念:在色轮上画一个多边形,把计划使用的颜色集中到其中。它与「显示器能显示的色域」不是一回事。真实颜料的混合结果也不能从数字色轮的多边形直接推导。
藏色助手把遮罩当作软引导:形状外会变暗,提醒你控制用色,但仍可自由选取并写入任意颜色。旋转形状只改变主色朝向,不改变它的内部比例。
| 形状 | 色轮上的安排 | 可怎样使用 |
|---|---|---|
| 三色 | 三个方向约隔 120° | 一色主导,另外两色作较少量的强调 |
| 互补 | 两端约隔 180°,侧向饱和度收窄 | 用对立色相制造对比,同时控制其他颜色的鲜艳度 |
| 分裂互补 | 主色与对面两侧的颜色 | 保留冷暖或色相反差,不必只依赖正对面一色 |
| 类似色 | 主色附近约 ±30° 的窄区 | 在相近色相里做变化 |
| 氛围 | 一个色相附近的低饱和度区域 | 收紧鲜艳度,让少数强调色更显眼 |
这些是候选范围,不是色彩和谐的证明。只按角度把颜色均匀分配,仍可能得到没有主次的画面;同一遮罩下,面积、明度、饱和度和相邻关系都会改变结果。
点「生成配色」时,程序先从遮罩内部取一个主导中间调,再给它添一深一浅两档,并从形状顶点取强调色;接近重复的颜色会被去掉,最多保留六个色块。生成结果适合当起稿材料。你可以删掉、替换或压低某个颜色,而不必把六个颜色平均涂满画面。
五、明度检查为什么有三种灰度
明度检查会暂时把屏幕变成灰色,让色相不再干扰亮暗判断;它不会修改画布文件。但「彩色变灰」没有唯一算法。藏色助手当前提供:
- 标准:对屏幕 RGB 使用与 Windows 灰度滤镜一致的加权方式。绿的权重最高,蓝最低。
- 去色:取 RGB 最大值与最小值的中间值,接近 Photoshop「去色」或把 HSL 饱和度降到零的结果。
- 感知:用 Oklab 的明度估计,再显示为同等感知明度的中性灰。
下面是当前客户端对几个纯色算出的 0–255 灰度值;数字越大,显示的灰越亮:
| 输入颜色 | 标准 | 去色 | 感知 |
|---|---|---|---|
红 #FF0000 | 76 | 128 | 136 |
绿 #00FF00 | 150 | 128 | 211 |
蓝 #0000FF | 29 | 128 | 85 |
灰 #808080 | 128 | 128 | 128 |
「去色」把这三种纯色都变成 128,所以适合复现某些绘画软件里的降饱和检查,却会抹平它们之间的亮暗差异。「标准」和「感知」会区分三者,但分开的程度不同。没有一种灰度能替代所有画面判断;如果你要与绘画软件里的去色结果对照,就选「去色」。如果要观察人眼感受到的亮暗分离,可试「感知」。重要的是在同一张画的复查过程中保持同一种算法,避免把算法差异误当成绘画变化。
六、把这些概念用于一张画
假设画面里有一盏暖灯和一片冷色阴影:
- 先分明暗:暂时不管灯是什么黄、阴影是什么蓝,先确认主体与背景能在灰度下分开。
- 定主色范围:在色轮上把遮罩转到想要的暖色方向,决定冷色是大面积辅助还是小面积强调。遮罩帮你限制选择,不能替你决定面积。
- 在固定明度里换色相:用 OKHSL 找暖光与冷影的颜色,再有意把亮部和暗部拉开,而不是只靠黄蓝对比。
- 生成并删减色板:把生成色当候选,留住真正服务画面主次的几块;必要时从参考图提色校正。
- 用同一灰度算法复查:若画面缩小后主体仍清楚,明暗关系才算真正发挥了作用。回到彩色,再检查氛围与色彩对比。
色轮和遮罩解决的是选色时的控制问题;最终画面还取决于光、材质、面积和相邻颜色。它们是帮助你试错的工具,不是自动判定「配色正确」的规则。
延伸阅读与术语
- 术语表:色相、饱和度、明度、OKHSL、色域遮罩、sRGB。
- Björn Ottosson:OKHSL 与 OKHSV 的设计及 Oklab 的原理。
- James Gurney:色域遮罩方法;藏色助手借用这个思路,但选择的是可越界的软遮罩。
- W3C CSS Color 4 对 sRGB / HSL 的定义;Adobe 对「去色」的说明。