十六进制转 HSL 转换器

作者: Neo Huang 审查者: Nancy Deng
最后更新: 2024-06-27 14:24:03 使用次数: 640 标签: Design Technology Web Development

单位转换器 ▲

单位转换器 ▼

From: To:
Powered by @Calculator Ultra

将十六进制颜色值转换为 HSL(色度、饱和度、明度)是 Web 开发和图形设计中的一项常见任务。此过程有助于更直观地理解颜色,并根据明度和饱和度进行调整。

历史背景

十六进制 (Hex) 颜色系统广泛用于 Web 设计,因为它以一种计算机和人都容易读取和理解的格式紧凑地表示颜色。另一方面,HSL 颜色模型被开发得更符合人类的直觉,因为它用更贴近人类对颜色感知和思考的方式来描述颜色:色度、饱和度和明度。

计算公式

若要将十六进制颜色转换为 HSL,请执行以下步骤:

  1. 将十六进制颜色转换为其十进制的红色 (R)、绿色 (G) 和蓝色 (B) 分量。
  2. 通过将 RGB 值除以 255 来归一化这些值,将范围从 0-255 更改为 0-1。
  3. 找出 R、G 和 B 中的最小值和最大值。
  4. 将明度 (L) 计算为最大值和最小值的平均值。
  5. 计算饱和度 (S)。如果最大值和最小值相同,则饱和度为 0。否则,根据明度级别使用特定公式。
  6. 计算色度 (H)。公式取决于哪个 RGB 分量是最大值,并涉及其他两个分量之间的差值。

示例计算

对于十六进制颜色 #3498db(一种蓝色):

  1. R = 52,G = 152,B = 219(十进制)。
  2. R = 0.20,G = 0.60,B = 0.86(归一化)。
  3. 最大值 = 0.86,最小值 = 0.20。
  4. L = (0.86 + 0.20) / 2 = 0.53。
  5. S = (0.86 - 0.20) / (1 - |2 * 0.53 - 1|) = 0.65。
  6. H = (0.60 - 0.20) / (0.86 - 0.20) = 2/3;对于蓝色色度进行调整 = 2/3 * 60 = 120°。

HSL 表示形式大约为 HSL\(204, 70%, 53%\)

重要性和使用场景

从十六进制到 HSL 的转换在 Web 设计和图形编辑软件中特别有用,设计人员经常需要根据明度和饱和度调整颜色,以达到所需的视觉效果或确保可访问性和可读性。

常见问题解答

  1. 为什么将十六进制转换为 HSL?

    • 将十六进制转换为 HSL 可以更容易地创建配色方案,因为 HSL 值在调整阴影、色调和创建和谐的颜色面板时更直观。
  2. 我能否将 HSL 转换回十六进制?

    • 可以,可以通过将 HSL 值转换回 RGB,然后再转换为十六进制来逆转此过程。
  3. 十六进制和 HSL 之间的颜色质量是否有差异?

    • 没有,两种格式都可以表示相同的颜色。区别在于颜色值是如何表示和操作的。

此转换器简化了将十六进制颜色代码转换为其 HSL 对应值的过程,使设计人员和开发人员能够以更直观的方式使用颜色。

推荐