HSL

Матеріал з testwiki
Перейти до навігації Перейти до пошуку
Зображення, розкладене на складові H, S і L

HSL (скорочено від Шаблон:Lang-en) — колірна модель, в якій будь-який колір визначається трьома характеристиками: кольоровим тоном (Шаблон:Lang-en), наприклад, синім, червоним, жовтим тощо; насиченістю (Шаблон:Lang-en), тобто частиною чистого кольору, без домішки чорної та білої фарб; Шаблон:Iw (Шаблон:Lang-en), тобто близькістю до білого кольору.

Схожа на колірну модель HSV (HSB) (від англ. Hue, Saturation, Value/Brightness).

Співвідношення з іншими моделями

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

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 

Шаблон:Без джерел

Шаблон:Кольорові моделі