HEX 转 HSL 怎么转 - 颜色换算方法与示例

539 字
3 分钟
HEX 转 HSL 怎么转 - 颜色换算方法与示例

🌟 HSL 为什么适合调色#

HEX 和 RGB 描述的是”红绿蓝各多少”,而 HSL 描述的是更符合直觉的三个维度:

  • H(Hue)色相:0°~360°,决定”是什么颜色”;
  • S(Saturation)饱和度:0%~100%,决定”鲜艳程度”;
  • L(Lightness)亮度:0%~100%,决定”明暗”。

调色时”我想把蓝色调亮一点”,用 HSL 只需改 L,直观得多。星点颜色格式转换支持 HEX ↔ HSL 互转。


🧮 HEX 转 HSL 的步骤#

以 #409eff 为例:

  1. HEX 拆成 RGB:#409eff → (64, 158, 255);
  2. 归一化到 0~1:(0.251, 0.620, 1.000);
  3. 求最大/最小值:max=1.000,min=0.251;
  4. 亮度 L = (max + min) / 2 = 0.625 → 62.5%;
  5. 饱和度 S:delta = max − min = 0.749;S = delta / (1 − |2L − 1|) = 0.749 / 0.749 = 1.0 → 100%;
  6. 色相 H:最大通道是蓝(B),H = 60 × (4 + (R − G) / delta) = 60 × (4 + (0.251 − 0.620) / 0.749) ≈ 60 × 3.508 ≈ 210°。

结果:hsl(210, 100%, 63%)。


📋 常见颜色对照#

HEXRGBHSL
#ff0000rgb(255,0,0)hsl(0, 100%, 50%)
#00ff00rgb(0,255,0)hsl(120, 100%, 50%)
#0000ffrgb(0,0,255)hsl(240, 100%, 50%)
#409effrgb(64,158,255)hsl(210, 100%, 63%)
#7c3aedrgb(124,58,237)hsl(262, 83%, 58%)
#808080rgb(128,128,128)hsl(0, 0%, 50%)

💡 用 HSL 做调色#

想要操作
调亮提高 L
调暗降低 L
更鲜艳提高 S
变灰降低 S
换色但保持明暗只改 H
纯色S=100%,L=50%

这正是颜色调整工具背后的逻辑。


⚠️ 注意#

  • HSL 的”亮度”与”感知亮度”不完全一致:黄色和蓝色在同样 L 下,人眼感觉亮度不同;
  • 追求感知均匀的调色,可用 OKLCH(见专业色彩)。

🔧 常见问题#

HSL 和 HSV 有什么区别? HSL 的 L 是亮度,HSV 的 V 是明度;取色面板常用 HSV,CSS 常用 HSL。
转换有精度损失吗? HSL 的 H 是角度,存在四舍五入;往返转换可能有 ±1 的误差,属正常。
CSS 支持 HSL 吗? 支持,现代 CSS 可直接写 `hsl(210 100% 63%)`,也支持 `hsl(... / alpha)`。

💬 总结#

HEX 转 HSL 就是”先转 RGB,再按公式求 H/S/L”。记不住没关系,用颜色格式转换输入即得。理解 HSL 后,调色会更直觉。

立即体验:访问 颜色格式转换

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

最后更新于 2026-09-13,距今已过 32 天

部分内容可能已过时

公告
🎉 已升级 2.0 版本,欢迎使用。
分类
标签
站点统计
文章
197
分类
24
标签
747
总字数
334,099
运行时长
0 天
最后活动
0 天前

目录