HSL

Материал из testwiki
Перейти к навигации Перейти к поиску

HSL, HLS или HSI (от Шаблон:Lang-en (Шаблон:Lang-en2)) — цветовая модель, в которой цветовыми координатами являются тон, насыщенность и светлота. HSV и HSL — две разные цветовые модели (lightness — светлота, что отличается от яркости).

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

Соотношения с другими моделями

Конвертация из RGB

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

Файл:RGB 2 HSL conversion with grid.ogg 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 

Ссылки

Шаблон:Цветовые модели

Шаблон:Color-stub Шаблон:Перевести