工具用的顺手吗?
你的反馈能帮助我们做得更好
实现RGB与CIELab颜色空间的双向转换,为设计师和开发者提供精准的色彩对应关系。
概览
了解工具能解决的问题、计算或处理逻辑,以及数据边界。
本工具在 RGB、HEX 与 CIE L*a*b* 数值之间联动换算。RGB 被解释为 8 位 sRGB:R、G、B 各为 0–255;Lab 一侧提供 L* 0–100、a* −128–127、b* −128–127 的滑块。输入有效 HEX、使用取色器或选择预设色后,会同步显示颜色预览、RGB 整数值和 Lab 结果;反向移动任一 Lab 滑块,也会得到对应的 RGB 与 HEX。
这里的 Lab 是以 D65 为参考白、通过 CIE XYZ 计算的 CIELAB 数值。它不是一个不带条件的“通用 Lab 码”:比较不同软件或测量结果前,必须先确认 RGB 色彩空间、参考白点和色域处理方式一致。
L*=0 对应黑端,L*=100 对应参考白。它描述的是 CIELAB 明度,不等同于 RGB 三通道的算术平均,也不等同于 HSL 中的 L。
a* 为负时偏绿,为正时偏红;接近 0 表示这一轴上的色彩倾向较弱。a* 本身不是“红色通道”,不能直接替代 R。
b* 为负时偏蓝,为正时偏黄;接近 0 表示这一轴较中性。a*、b* 同时接近 0 时,颜色通常靠近中性灰轴。
正向换算先把 0–255 的 sRGB 分量归一化并解除 sRGB 非线性编码,再用 sRGB 的 D65 矩阵得到 XYZ。工具采用 Xn=95.047、Yn=100、Zn=108.883 的 D65 参考白,将 XYZ 归一化后代入 CIELAB 的分段函数。
L* = 116 f(Y/Yn) − 16
a* = 500 [f(X/Xn) − f(Y/Yn)]
b* = 200 [f(Y/Yn) − f(Z/Zn)]
反向换算按相反顺序由 Lab 得到 XYZ、线性 sRGB 和编码后的 RGB。以工具默认色 #3B82F6 为例,RGB 为 59, 130, 246,计算结果为 L*=55.63, a*=17.54, b*=−64.42;纯红 #FF0000 得到 53.24, 80.09, 67.2。这些示例已按当前换算结果复算。
指南
按步骤完成操作,并通过示例核对输入与结果。
在 HEX 框输入类似 #3B82F6 的有效颜色值,或打开取色器、点击常用颜色。有效输入会立刻同步三个 RGB 分量、三个 Lab 分量与预览色;HEX 尚未成为有效颜色时,其他结果保持上一次有效值。
需要从屏幕色出发时,移动 R、G、B 滑块,步长为 1。需要从 Lab 目标出发时,移动 L*、a*、b* 滑块,步长为 0.1;页面会反向更新可显示的整数 RGB 和 HEX。RGB 正向计算的 Lab 结果最多保留两位小数。
先检查 a*、b* 的正负号,再看 L*。例如默认蓝色的 b* 为负,符合“负值偏蓝”;若目标是中性灰,可把 a*、b* 调到接近 0,再用 L* 控制明暗。
可以复制 HEX、完整 RGB 表达、单个 Lab 分量或全部结果。分享功能以当前 HEX 保存颜色,因此接收方会由该 sRGB 颜色重新得到对应的 Lab 数值。
场景
查看这项工具在不同工作与生活流程中的用法。
设计稿只有 HEX 或 RGB 时,可生成同一 sRGB 颜色的 D65 Lab 坐标,供开发、视觉与测试人员在同一口径下记录和讨论明度、偏红绿或偏蓝黄的方向。
逐个选择预设色或输入 HEX,复制 Lab 结果,可辅助检查一组颜色的 L* 层级与 a*/b* 倾向。若要量化两色差异,还需另行使用明确的色差公式。
开发颜色处理流程时,可从极端 Lab 值反向观察其 sRGB 结果,快速发现哪些目标会落到通道边界;这适合界面与数据测试,不替代完整的色彩管理验证。
问答
集中解答高频疑问与容易混淆的问题。
通常是口径不同。请逐项确认输入是否为 sRGB、Lab 使用 D65 还是 D50、是否执行了色适应,以及超出目标色域时采用裁切还是其他映射方法。仅比较“Lab”三个字不足以保证数值可直接对照。
rgb(255,0,0)、逗号分隔 RGB 或 Lab(...) 吗?当前不能。RGB 与 Lab 通过滑块调整,文本输入框用于 HEX;需要精确到某个 RGB 整数时,可移动对应滑块,Lab 一侧以 0.1 为调节步长。
lab() 吗?不应直接照搬。本工具输出采用 D65 参考白,而 CSS Color 4 的 lab() 采用 D50;规范化转换还需要 D65 与 D50 之间的色适应步骤。
不会。它一次处理一个颜色,只给出 RGB、HEX 与 Lab 的对应值;没有第二个样本输入,也不输出 ΔE76、CIE94 或 CIEDE2000 等色差结果。
须知
使用前了解适用范围、结果限制与必要提醒。
Lab 能描述的颜色不一定能由 sRGB 显示。反向换算遇到超出 sRGB 的值时,RGB 通道会限制在 0–255 并取整,因此不同的 Lab 输入可能得到相同的边界 RGB;再从该 RGB 换回 Lab,也可能无法恢复原始值。
推荐
查找相关工具、专题与可用的 API 能力。