RGB、HSL、HSB顏色模式的轉(zhuǎn)化
? ? ?RGB顏色模式是最常用的顏色模式,電視、電腦、手機(jī)等電子屏幕的顯示原理都是RGB。RGB分別代表光的三原色紅綠藍(lán),人眼有三種視錐細(xì)胞,分別對(duì)紅光、綠光、藍(lán)光最敏感。RGB模式可以理解為有三盞燈,分別發(fā)出紅光、綠光、藍(lán)光,三盞燈的光相加得到的顏色就是結(jié)果色。
? ? ? ?RGB模式對(duì)機(jī)器很友好,但是不符合人眼的直觀感受,所以人們發(fā)明了HSL模式。H是色相,代表顏色的紅橙黃綠青藍(lán)紫,主要取決于顏色的頻率,但不完全取決于顏色的頻率,如人眼不能區(qū)分純的黃光和由紅光綠光混合而成的黃光。S是飽和度,代表顏色的鮮艷程度,飽和度越高,顏色越鮮艷,飽和度為0,顏色是灰色。L是亮度,代表顏色的深淺程度,亮度越高顏色越淺,亮度越低顏色越深,黑色的充要條件是亮度為0,白色的充要條件是亮度為最大值。RGB轉(zhuǎn)化為HSL模式的公式如下:(max代表RGB的最大值,min代表RGB的最小值)

? 可以看出,L大致代表了光的量。但是L并不是顏色深淺的絕對(duì)標(biāo)志,紅色(#FF0000)、藍(lán)色(#0000FF)比L值相同的黃色(#FFFF00)、綠色(#00FF00)、青色(#00FFFF)更深,這是因?yàn)槿搜蹖?duì)綠光比較敏感。S可以大致理解為光的純度,即max-min,更準(zhǔn)確的說,S指的是在光的量不改變的條件下光的相對(duì)純度,它受L的限制。max-min值小只能代表光的純度低,并不代表顏色不鮮艷,因?yàn)閙in提高了對(duì)L也做了貢獻(xiàn)。所以需要比上2L或2-2L。HSL模式的模型是雙圓錐。

? ? 而很多軟件,像PS,使用的是HSB模式(又叫HSV)。和HSL模式相比,HSB模式不太符合人的直覺,但是更好的描述了顏色的物理屬性。RGB轉(zhuǎn)化為HSB的數(shù)學(xué)公式如下:

從公式中我們可以看出HSB和HSL對(duì)于色相H的定義完全相同,但是亮度和飽和度不同。B代表亮度,指的是HSB中的最大值,也就是說合成某一種顏色所需要的最大純色光的量,飽和度S在這里就代表光的純度。我們可以推導(dǎo)出H和S共同決定RGB的比例,B決定RGB的最大值。也就是說,H和S決定顏色的質(zhì),B決定顏色的量。在HSB模式中,當(dāng)亮度為最大值,飽和度從最大值調(diào)到0,顏色從純色變?yōu)榘咨?,這是反直覺的。亮度B只從黑色到中等深淺的顏色走過一半的距離,這也是反直覺的。但這更符合顏色的物理屬性。HSB模式的模型是一個(gè)圓錐。

? ? 在PS這種軟件里,S和B兩個(gè)分量構(gòu)成一個(gè)如下的正方形:

對(duì)于這個(gè)正方形,我們做一次坐標(biāo)變化,把它變成一個(gè)等腰直角三角形:

這個(gè)等腰直角三角形繞B軸旋轉(zhuǎn)就形成了HSB圓錐體模型。對(duì)這個(gè)等腰直角三角形再次做一次坐標(biāo)變換,我們得到一個(gè)等腰三角形:

這個(gè)等腰三角形繞B軸旋轉(zhuǎn)可以得到HSL雙圓錐模型。最終我們得出HSB模式轉(zhuǎn)化為HSL模式的公式:

HSL的優(yōu)點(diǎn)在于它完美的表達(dá)了亮度(顏色的深淺)和飽和度(顏色的鮮艷程度)這兩個(gè)獨(dú)立的分量,它明暗對(duì)稱。HSB的有點(diǎn)在于它完美的展示了RGB三色光的比例和光的最大量。HSL符合人們對(duì)顏色的認(rèn)知,具有對(duì)稱美。而HSB講究比例,具有科學(xué)美。