H: hue,色調(diào),
S:saturation 飽和度
L lum 亮度
概述
HSL色彩模式是工業(yè)界的一種顏色標準,是通過對色調(diào)(H)、飽和度(S)、亮度(L)三個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,HSL即是代表色調(diào),飽和度,亮度三個通道的顏色,這個標準幾乎包括了人類視力所能感知的所有顏色,是目前運用最廣的顏色系統(tǒng)之一。
HSL色彩模式使用HSL模型為圖像中每一個像素的HSL分量分配一個0~255范圍內(nèi)的強度值。HSL圖像只使用三種通道,就可以使它們按照不同的比例混合,在屏幕上重現(xiàn)16777216種顏色。
在 HSL 模式下,每種 HSL 成分都可使用從 0到 255的值。(其中L是從黑(0)到白(255)漸變)
Windows自帶畫圖程序中菜單欄->顏色->編輯顏色->規(guī)定自定義顏色 中可以通過修改E(H)SL的值(0~240)以得到對應(yīng)RGU(B)的值。
HSL與RGB轉(zhuǎn)換
a) RGB→HSL的算法描述。
步驟1:把RGB值轉(zhuǎn)成【0,1】中數(shù)值。
步驟2:找出R,G和B中的最大值。
步驟3:設(shè)L=(maxcolor + mincolor)/2
步驟4:如果最大和最小的顏色值相同,即表示灰色,那么S定義為0,而H未定義并在程序中通常寫成0。
步驟5:否則,測試L:
If L<0.5, S=(maxcolor-mincolor)/(maxcolor + mincolor)
If L>=0.5, S=(maxcolor-mincolor)/(2.0-maxcolor-mincolor)
步驟6: If R=maxcolor, H=(G-B)/(maxcolor-mincolor)
If G=maxcolor, H=2.0+(B-R)/(maxcolor-mincolor)
If B=maxcolor, H=4.0+(R-G)/(maxcolor-mincolor)
步驟7:從第6步的計算看,H分成0~6區(qū)域。RGB顏色空間是一個立方體而HSL顏色空間是兩個六角形錐體,其中的L是RGB立方體的主對角線。因此,RGB立方體的頂點:紅、黃、綠、青、藍和品紅就成為HSL六角形的頂點,而數(shù)值0~6就告訴我們H在哪個部分。H=H*60.0,如果H為負值,則加360。
b) HSL→RGB的算法描述。
步驟1:If S=0,表示灰色,定義R,G和B都為L.
步驟2:否則,測試L:
If L<0.5,temp2=L*(1.0+S)
If L>=0.5,temp2=L+S-L*S
步驟3:temp1=2.0*-temp2
步驟4:把H轉(zhuǎn)換到0~1。
步驟5:對于R,G,B,計算另外的臨時值temp3。方法如下:
for R, temp3=H+1.0/3.0
for G, temp3=H
for B, temp3=H-1.0/3.0
if temp3<0, temp3=temp3+1.0
if temp3>1, temp3=temp3-1.0
步驟6:對于R,G,B做如下測試:
If 6.0*temp3<1,color=temp1+(temp2-temp1)*6.0*temp3
Else if 2.0*temp3<1,color=temp2
Else if 3.0*temp3<2,
color=temp1+(temp2-temp1)*((2.0/3.0)-temp3)*6.0
Else color=temp1
HSL