色导网中文配色工作台与色彩资料馆

色导网的色彩空间换算器与各空间口径说明

换算本身不难,难的是知道哪个数字可以信。下面每一行都标了它的假设:哪些是代数等价的无损换算,哪些只是粗略估计。

默认换算颜色及其明度变体

输入

规范写法:#C8553D

换算结果

RGB
rgb(200, 85, 61)
HSL
hsl(10 56% 51%)
HSV
hsv(10, 70%, 78%)
CMYK
cmyk(0%, 58%, 70%, 22%)
XYZ
X 27.91 Y 19.12 Z 6.63
CIELAB
L* 50.82 a* 44.31 b* 36.51
OKLCH
oklch(59.29% 0.1522 33.43)

每一行的口径

前四行是设计日常用的,后三行是做插值、排序和色差计算时用的。
空间口径能信到什么程度
RGB十六进制的十进制写法完全无损,就是同一个数
HSL / HSV对 RGB 的代数重排,圆柱坐标无损可逆,但 L 和 V 都不是感知亮度
CMYK朴素换算:K = 1 - max(R,G,B),再按 K 归一只能当粗估,见下面的警告
XYZsRGB 原色矩阵,D65 白点,先做线性化在 sRGB 假设下精确
CIELABCIE 1976 定义,参考白 D65在 sRGB 假设下精确;ΔE*ab 在蓝区会高估差异
OKLCHOklab 的极坐标形式,L 为感知亮度,C 为彩度,H 为色相角适合做插值与明度排序

为什么还要 Lab 和 OKLCH

HSL 的 L 是把最亮和最暗通道取平均得来的,和眼睛感受到的亮度关系很松:纯黄和纯蓝在 HSL 里可以都是 L 50%,实测相对亮度却差了接近六倍。所以用 HSL 排灰阶、做渐变,经常得到忽明忽暗的结果。

Lab 与 Oklab 都把亮度做成接近感知均匀的一维量,于是「把这组色按亮度排序」「在两色之间取中点」这类操作才有意义。Oklab 比 1976 年的 Lab 在蓝紫区表现更好,也是 CSS 的 oklch() 背后的空间。

HSL 双锥与 HSV 圆柱的结构对照L 100% 白L 0% 黑S 最大HSL:双锥V 100%V 0% 黑HSV:圆柱顶面是满亮度的整个色相环
HSL 是双锥:最亮和最暗都收缩成一个点,所以同一个 L 值上能放的饱和色很有限。HSV 是圆柱,顶面是满亮度的整个色相环。

误差从哪来