HSV和HSL的区别

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

HSL和HSV的本质区别

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

  • H即色相:在HSL中表示颜色种类,使用0度到360度表示。与HSL中的H一致。
  • S即饱和度:表示颜色的鲜艳程度,当数值为0%,表示纯灰色。当数值为100%,表示当前色相最鲜艳的颜色。而在HSV中表示颜色的纯净程度,数值为0%表示纯黑色。100%表示当前色相最纯净的颜色。
  • L明度:在HSL中表示色彩的明暗程度,0%表示纯黑。100%表示纯白。50%表示此色相的纯色调。HSV中的V。在0%为纯黑,100%表示该色相的最亮的状态。

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

由于RGB模型是数字设备的编码,不符合人类对颜色的认知。例如人类对同一个红色,可能有鲜艳的红和明亮的红。RGB的三个数值体现不了颜色,鲜艳和明亮。所以有两个学者提出了HSV和HSL。HSV的提出核心目标是为了符合艺术家的绘画逻辑,艺术家会先选择颜料,然后通过添加黑或白调整明暗和鲜艳。HSL的提出目标是符合人类对明暗的认知。即明度应该覆盖从纯黑到纯白的过程。

对于UI设计师或网页开发者,需要控制颜色的明暗层次,所以可以选择HSL。如果是摄影师,需要先选择颜色,再增加黑白调整,可以选择HSV。

HSL与HSV之间的转换

HSL或HSV可以通过中间值RGB进行转换。即HSL想要转换为HSV,首先可以将HSL转换为RGB,然后讲RGB转换为HSV。反之一样。如果需要进行HSL与HSV之间的转换可以使用颜色单位转换工具