HSV 和 HSL 的区别

一个字母之差,两种截然不同的颜色理解方式

之前我们介绍了RGB。这次我们介绍两个看起来比较相似的单位——HSL 和 HSV。HSL 全称是 Hue, Saturation, Lightness/Luminance,即色相、饱和度和明度;HSV 是指 Hue, Saturation, Value,即色相、饱和度、明度。这两个既相关又有些不同。

📖 文章目录

🔍 HSL 和 HSV 的本质区别

两种从名字上差了一个字母,核心是对颜色明暗定义不同。在 HSL 和 HSV 的三大分量定义如下:

H色相 · Hue

在 HSL 中表示颜色种类,使用 0° 到 360° 表示。与 HSV 中的 H 一致。

S饱和度 · Saturation

表示颜色的鲜艳程度。当数值为 0%,表示纯灰色;当数值为 100%,表示当前色相最鲜艳的颜色。

而在 HSV 中,S 表示颜色的纯净程度:数值为 0% 表示纯黑色,100% 表示当前色相最纯净的颜色。

L / V明度 · Lightness / Value

在 HSL 中表示色彩的明暗程度:0% 表示纯黑,100% 表示纯白,50% 表示此色相的纯色调。

HSV 中的 V:0% 为纯黑,100% 表示该色相的最亮的状态。

📊 关键差异速览
S = 0%
HSL纯灰色
HSV纯黑色
S = 100%
HSL最鲜艳
HSV最纯净
L / V = 0%
HSL纯黑
HSV纯黑
L / V = 50%
HSL纯色调
HSV—
L / V = 100%
HSL纯白
HSV最亮

💡 为什么会有 HSV 和 HSL 两种模型?

由于 RGB 模型是数字设备的编码,不符合人类对颜色的认知。例如人类对同一个红色,可能有鲜艳的红和明亮的红。RGB 的三个数值体现不了颜色的鲜艳和明亮。所以有两位学者提出了 HSV 和 HSL。

HSV
面向艺术家的绘画逻辑

艺术家会先选择颜料,然后通过添加黑或白调整明暗和鲜艳。HSV 的提出核心目标就是为了符合这种工作方式。

HSL
面向人类的明暗认知

明度应该覆盖从纯黑到纯白的过程。HSL 的提出目标是符合人类对明暗的认知,让 L 分量从黑直接过渡到白。

怎么选?看场景

🎨
UI 设计师 / 网页开发者

需要控制颜色的明暗层次,可以选择 HSL。

📷
摄影师

需要先选择颜色,再增加黑白调整,可以选择 HSV。

🔄 HSL 与 HSV 之间的转换

HSL 或 HSV 可以通过中间值 RGB 进行转换。即 HSL 想要转换为 HSV,首先可以将 HSL 转换为 RGB,然后再将 RGB 转换为 HSV;反之也一样。

HSL
→
RGB
→
HSV
HSV
→
RGB
→
HSL

如果需要进行 HSL 与 HSV 之间的转换,可以使用颜色单位转换工具。