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

HSL

Материал из Мегавики — свободной энциклопедии

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

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

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

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

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

Файл:RGB 2 HSL conversion with grid.ogg H={undefinedif MAX=MIN60∘×G−BMAX−MIN+0∘,if MAX=Rand G≥B60∘×G−BMAX−MIN+360∘,if MAX=Rand G<B60∘×B−RMAX−MIN+120∘,if MAX=G60∘×R−GMAX−MIN+240∘,if MAX=B,

S={0if L=0 or MAX=MINMAX−MINMAX+MIN=MAX−MIN2L,if 0<L≤12MAX−MIN2−(MAX+MIN)=MAX−MIN2−2L,if 12<L<1, или, в общем случае, S=MAX−MIN1−|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 L≥0.5

P=2.0×L−Q

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

TR=Hk+13

TG=Hk

TB=Hk−13

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

if Tc>1→Tc=Tc−1.0for eachc=R,G,B

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

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

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


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