Перейти к содержанию

HSL

Материал из Мегавики

HSL, HLS или HSI (от англ. hue, saturation, lightness (intensity)) — цветовая модель, в которой цветовыми координатами являются тон, насыщенность и светлота. Следует отметить, что HSV и HSL — две разные цветовые модели (lightness — светлота, что отличается от яркости).

Изображение, разложенное на составляющие H, S и L

Соотношения с другими моделями[править]

Конвертация из RGB[править]

Файл:Inkscape HSL.png
Выбор цвета фигуры в модели HSL (c альфа-каналом) в векторном графическом редакторе Inkscape
Визулизация перехода между цветовыми моделями RGB и HSL

H={undefinedif MAX=MIN60×GBMAXMIN+0,if MAX=Rand GB60×GBMAXMIN+360,if MAX=Rand G<B60×BRMAXMIN+120,if MAX=G60×RGMAXMIN+240,if MAX=B,

S={0if L=0 or MAX=MINMAXMINMAX+MIN=MAXMIN2L,if 0<L12MAXMIN2(MAX+MIN)=MAXMIN22L,if 12<L<1, или, в общем случае, S=MAXMIN1|1(MAX+MIN)|,

L=12(MAX+MIN), где:

  • R, G, B — значения цвета в цветовой модели RGB, значения в диапазоне [0; 1] (R - красный, G - зелёный, B - синий).
  • MAX — максимум из трёх значений (R, G, B)
  • MIN — минимум из трёх значений (R, G, B)
  • H — тон [0; 360]
  • S — насыщенность [0; 1]
  • L — светлота [0; 1]

Конвертация в RGB[править]

Q={L×(1.0+S),if L<0.5L+S(L×S),if L0.5

P=2.0×LQ

Hk=H360 (приведение к интервалу [0,1])

TR=Hk+13

TG=Hk

TB=Hk13

if Tc<0Tc=Tc+1.0for eachc=R,G,B

if Tc>1Tc=Tc1.0for eachc=R,G,B

Для каждого цвета c=R,G,B:

colorc={P+((QP)×6.0×Tc),if Tc<16Q,if 16Tc<12P+((QP)×(23Tc)×6.0),if 12Tc<23P,otherwise 

Ссылки[править]


Источник — https://megawiki.ru/wiki/HSL