HSL

Зображення, розкладене на складові H, S і L

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

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

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

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

H = { undefined if  M A X = M I N 60 × G B M A X M I N + 0 , if  M A X = R and  G B 60 × G B M A X M I N + 360 , if  M A X = R and  G < B 60 × B R M A X M I N + 120 , if  M A X = G 60 × R G M A X M I N + 240 , if  M A X = B {\displaystyle H={\begin{cases}{\mbox{undefined}}&{\mbox{if }}MAX=MIN\\60^{\circ }\times {\frac {G-B}{MAX-MIN}}+0^{\circ },&{\mbox{if }}MAX=R\\&{\mbox{and }}G\geq B\\60^{\circ }\times {\frac {G-B}{MAX-MIN}}+360^{\circ },&{\mbox{if }}MAX=R\\&{\mbox{and }}G<B\\60^{\circ }\times {\frac {B-R}{MAX-MIN}}+120^{\circ },&{\mbox{if }}MAX=G\\60^{\circ }\times {\frac {R-G}{MAX-MIN}}+240^{\circ },&{\mbox{if }}MAX=B\end{cases}}} , S = { 0 if  L = 0  or  M A X = M I N M A X M I N M A X + M I N = M A X M I N 2 L , if  0 < L 1 2 M A X M I N 2 ( M A X + M I N ) = M A X M I N 2 2 L , if  1 2 < L < 1 {\displaystyle S={\begin{cases}0&{\mbox{if }}L=0{\mbox{ or }}MAX=MIN\\{\frac {MAX-MIN}{MAX+MIN}}={\frac {MAX-MIN}{2L}},&{\mbox{if }}0<L\leq {\frac {1}{2}}\\{\frac {MAX-MIN}{2-(MAX+MIN)}}={\frac {MAX-MIN}{2-2L}},&{\mbox{if }}{\frac {1}{2}}<L<1\\\end{cases}}} , або, в загальному випадку, S = M A X M I N 1 | 1 ( M A X + M I N ) | {\displaystyle S={\frac {MAX-MIN}{1-|1-(MAX+MIN)|}}} ,

L = 1 2 ( M A X + M I N ) {\displaystyle L={\begin{matrix}{\frac {1}{2}}\end{matrix}}(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.5 L + S ( L × S ) , if  L 0.5 {\displaystyle Q={\begin{cases}L\times (1.0+S),&{\mbox{if }}L<0.5\\L+S-(L\times S),&{\mbox{if }}L\geq 0.5\end{cases}}}

P = 2.0 × L Q {\displaystyle P=2.0\times L-Q\,}

H k = H 360 {\displaystyle H_{k}={H \over 360}\,} (приведення до інтервалу [0,1])

T R = H k + 1 3 {\displaystyle T_{R}=H_{k}+{\frac {1}{3}}\,}

T G = H k {\displaystyle T_{G}=H_{k}\,}

T B = H k 1 3 {\displaystyle T_{B}=H_{k}-{\frac {1}{3}}\,}

if  T c < 0 T c = T c + 1.0 for each c = R , G , B {\displaystyle {\mbox{if }}T_{c}<0\rightarrow T_{c}=T_{c}+1.0\quad {\mbox{for each}}\,c=R,G,B\,}

if  T c > 1 T c = T c 1.0 for each c = R , G , B {\displaystyle {\mbox{if }}T_{c}>1\rightarrow T_{c}=T_{c}-1.0\quad {\mbox{for each}}\,c=R,G,B\,} Для кожного кольору c = R , G , B {\displaystyle c=R,G,B} :

c o l o r c = { P + ( ( Q P ) × 6.0 × T c ) , if  T c < 1 6 Q , if  1 6 T c < 1 2 P + ( ( Q P ) × ( 2 3 T c ) × 6.0 ) , if  1 2 T c < 2 3 P , otherwise  {\displaystyle \qquad \mathrm {color} _{c}={\begin{cases}P+\left((Q-P)\times 6.0\times T_{c}\right),&{\mbox{if }}T_{c}<{\frac {1}{6}}\\Q,&{\mbox{if }}{\frac {1}{6}}\leq T_{c}<{\frac {1}{2}}\\P+\left((Q-P)\times ({\frac {2}{3}}-T_{c})\times 6.0\right),&{\mbox{if }}{\frac {1}{2}}\leq T_{c}<{\frac {2}{3}}\\P,&{\mbox{otherwise }}\end{cases}}}

Ця стаття не містить посилань на джерела. Ви можете допомогти поліпшити цю статтю, додавши посилання на надійні (авторитетні) джерела. Матеріал без джерел може бути піддано сумніву та вилучено. (травень 2014)
  • п
  • о
  • р

RGB (sRGB, ProPhoto) • CMYK • XYZ • LMS • HSV (HSB) • HSL • AHSL • RYB • LAB • NCS • RAL • YUV • YCbCr • YPbPr • YDbDr • YIQ • PMS (Pantone) • Манселла