颜色选择器与转换工具
选取一种颜色,在 HEX、RGB、HSL、HSV 和 CMYK 之间转换,生成搭配的调色板,并对照 WCAG 无障碍标准检查文字对比度。
- 文件永不离开你的设备
- 免费,无需注册
- 无水印
- 加载后可离线使用
如何颜色选择器与转换工具
- 1
选择一种颜色
使用色板,或直接输入 HEX 或 RGB 值。
- 2
复制任意格式
HEX、RGB、HSL、HSV 和 CMYK 会同时显示出来。
- 3
检查对比度
设置一个背景色,查看文字是否通过 WCAG AA 和 AAA 标准。
为什么同一种颜色需要这么多不同的记法
HEX 和 RGB 描述的是字面意义上完全相同的底层数值——要混合多少红、绿、蓝光——只是用两种针对不同用途的不同记法:HEX 把三个通道打包进一个紧凑的六字符字符串,便于作为一个 CSS 值粘贴,或者存进数据库的一列;RGB 则把三个数字分开写出来,当程序需要独立读取或操作每一个通道时更方便。HSL 又用一套完全不同、专门围绕人们实际思考颜色方式构建的坐标系统重新表述同一种颜色——色相(哪种颜色)、饱和度(有多鲜艳)、明度(有多接近白色或黑色)——之所以这样设计,正是因为"让它稍微亮一点"或者"让它柔和一点"在 HSL 里只需要调整一个数字,而在 RGB 里要达到同样的视觉效果,需要同时重新计算全部三个通道。
为什么 CMYK 是一个真正不同的色彩模型,而不只是另一种记法
RGB、HSL 和 HSV 都是描述加色光的不同方式——通过直接发出红、绿、蓝光来产生颜色,这正是每一块屏幕的工作原理。CMYK 描述的是减色——青色、洋红、黄色和黑色油墨吸收某些波长的光,剩下的光从纸张反射出来,这是一个物理上完全不同的过程,能达到的色彩范围也比屏幕能产生的要窄。这正是为什么一个明亮、饱和的 RGB 颜色,尤其是某些鲜艳的蓝色和绿色,经常根本没有精确对应的 CMYK 版本——这种颜色单纯就落在了纸上油墨物理上能够还原的范围之外,这里显示的转换结果,是用标准算术方法得到的最接近的近似值,而不是经过专业色彩管理的精确匹配。一项真正重要的印刷工作,需要一份针对具体印刷机和纸张材质校准过的 ICC 色彩配置文件,这是一个独立的、比通用算术转换更繁复的过程。
为什么对比度数值有时会和你的眼睛感受到的不一样
WCAG 对比度完全是根据每种颜色的相对亮度计算的——这是一种从 RGB 通道推导出来的感知亮度度量,采用的公式给绿色分量的权重最高,因为人眼对这个波长最敏感——而不是根据两种颜色并排放在一起看起来有多鲜明、多不同。这会产生一种特定的、违背直觉的失败情形:两种饱和度高、看起来明显不同、但整体亮度相近的颜色,比如亮红色背景上的亮橙色文字,彼此之间的亮度对比可能几乎为零,尽管在正常视力看来两者显然是可以区分的,而这样的搭配对视力较弱、有色觉缺陷的人,或者仅仅是在阳光直射下看手机屏幕的人来说,确实会变得难以阅读,甚至完全无法阅读。这个比值衡量的正是对这些读者真正重要的那个对比度维度,即使它和一双视力健全的眼睛对这个配色的第一印象不一致。
常见问题
HEX、RGB 和 HSL 有什么区别?
HEX 和 RGB 用不同的记法描述同一件事——要混合多少红、绿、蓝。HSL 用色相、饱和度和明度重新表述,这要好推理得多:要让一个颜色变亮,只需要改一个数字,而不用去猜三个数字该怎么调。
对比度数值代表什么?
它比较两种颜色的相对亮度,范围从 1(完全相同)到 21(黑底白字)。WCAG 要求正常文字在 AA 级别至少达到 4.5:1,大号文字至少达到 3:1,到 AAA 级别则分别提高到 7:1 和 4.5:1。
为什么我看着挺好的颜色却没通过对比度检测?
因为这个比值是根据相对亮度计算的,而不是根据两种颜色看起来有多不同。两种明亮度相近的鲜艳颜色——比如红底上的橙色——看起来截然不同,但彼此之间几乎没有亮度对比,对视力较弱的人或者在阳光下的屏幕上会变得难以阅读。
CMYK 转换对印刷来说准确吗?
这是标准的算术转换,只是一个起点,而不是经过色彩管理的精确结果。真正的印刷工作需要针对具体印刷机和纸张的 ICC 色彩配置文件,因为 CMYK 本来就无法还原许多明亮的 RGB 颜色。