HSV, HSL

HSV, HSL比较:

左HSL,                                                                                              右HSV:

1200px-HSL_HSV_cylinder_color_solid_comparison

HSV通常表示为圆锥形, 根据定义,

红色处于0度左右两边(不包括0度),

绿色处于120度及左右两边(包括120度),

蓝色处于240度及左右两边(包括240度):

HSV_cone

 

HSL:

资料来自维基:https://zh.wikipedia.org/wiki/HSL和HSV色彩空间

HSV, HSL基于r,g,b的计算定义:

设 (rgb)分别是一个颜色的红、绿和蓝坐标,它们的值是在0到1之间的实数。设max等价于rgb中的最大者。设min等于这些值中的最小者。要找到在HSL空间中的 (hsl)值,这里的h ∈ [0, 360)是角度的色相角,而sl ∈ [0,1]是饱和度和亮度,计算为:

h={\begin{cases}0^{\circ }&{\mbox{if }}max=min\\60^{\circ }\times {\frac {g-b}{max-min}}+0^{\circ },&{\mbox{if }}max=r{\mbox{ and }}g\geq b\\60^{\circ }\times {\frac {g-b}{max-min}}+360^{\circ },&{\mbox{if }}max=r{\mbox{ and }}g<b\\60^{\circ }\times {\frac {b-r}{max-min}}+120^{\circ },&{\mbox{if }}max=g\\60^{\circ }\times {\frac {r-g}{max-min}}+240^{\circ },&{\mbox{if }}max=b\end{cases}}s={\begin{cases}0&{\mbox{if }}l=0{\mbox{ or }}max=min\\{\frac {max-min}{max+min}}={\frac {max-min}{2l}},&{\mbox{if }}0<l\leq {\frac {1}{2}}\\{\frac {max-min}{2-(max+min)}}={\frac {max-min}{2-2l}},&{\mbox{if }}l>{\frac {1}{2}}\end{cases}}

l={\begin{matrix}{\frac {1}{2}}\end{matrix}}(max+min)

h的值通常规范化到位于0到360°之间。而h = 0用于max = min的(就是灰色)时候而不是留下h未定义。

HSL和HSV有同样的色相定义,但是其他分量不同。HSV颜色的sv的值定义如下:s={\begin{cases}0,&{\mbox{if }}max=0\\{\frac {max-min}{max}}=1-{\frac {min}{max}},&{\mbox{otherwise}}\end{cases}}

v=max\,

 

HSL和HSV之间相互转换:

http://colormine.org/convert/hsl-to-hsv

 

HSL转RGB:

http://lib.csdn.net/article/css3/52059