颜色值转换器

🎨 Color Value Converter (HEX / RGB / HSL)

📐 工作原理与说明
HEX 转 RGB:去掉开头的井号后要求为 6 位十六进制,按每两位一段分别按 16 进制解析为红、绿、蓝三个通道。RGB 转 HSL:三个通道各除以 255 后取最大值与最小值,亮度 = (最大值 + 最小值) ÷ 2;最大值等于最小值时色相与饱和度均为 0;否则差值 = 最大值 − 最小值,饱和度在亮度大于 0.5 时取 差值 ÷ (2 − 最大值 − 最小值),否则取 差值 ÷ (最大值 + 最小值);色相按哪个通道最大分别计算——红最大时取 (绿 − 蓝) ÷ 差值(绿小于蓝时再加 6),绿最大时取 (蓝 − 红) ÷ 差值 加 2,蓝最大时取 (红 − 绿) ÷ 差值 加 4,最后统一除以 6;色相四舍五入到 0 到 360 度,饱和度与亮度四舍五入为百分比。HSL 转 RGB:色相除以 360、饱和度与亮度除以 100;饱和度为 0 时三个通道同为亮度值;否则取 q 为「亮度小于 0.5 时 亮度 × (1 + 饱和度),否则 亮度 + 饱和度 − 亮度 × 饱和度」,p = 2 × 亮度 − q,再用分段函数分别代入 色相 + 三分之一、色相、色相 − 三分之一 求出红绿蓝,最后各乘以 255 并四舍五入
在 RGB、HEX、HSL、HSV 等颜色表示之间转换。
  • RGB/HEX:三通道各 0–255,HEX 为 #RRGGBB,#RGB 简写会等比扩展。
  • HSL:色相 H(0–360°)、饱和度 S(0–100%)、亮度 L(0–100%),更贴近直觉调色。
  • HSV:V 为明度,与 HSL 的 L 不同——L=100% 是纯白,V=100% 是纯色。
  • 转换:先归一化到 [0,1] 再按分段公式互转;屏幕色域不同会导致显示差异。

Convert colors between HEX, RGB and HSL with live preview.

Formula & Standard References

Item Formula / Note Source / Standard
sRGB space RGB channels 0-255 using the sRGB transfer function IEC 61966-2-1
HSL conversion hue 0-360 degrees; saturation and lightness in percent CSS Color Module Level 4
Hex notation #RRGGBB or #RGB shorthand; 8-digit form carries alpha CSS Color Module Level 4
📌 格式说明

📚 深度解析:颜色值转换器

💡 常见使用场景

转换
#FF0000 ↔ rgb(255,0,0) ↔ hsl(0,100%,50%)(纯红)。

❓ 常见问题(FAQ)

HSL 的 L=50% 含义?
恰好为该色相的中间亮度,L=100% 为白、0% 为黑。
HEX 和 RGB 显示的颜色会不一样吗?
数值一致则颜色一致,两者只是表示方式不同。真正影响显示的是色彩空间与设备:#FF0000 在 sRGB 与 Display P3 屏上观感不同,广色域屏会更鲜艳。关键设计建议标注色彩空间,并在目标设备上实测。