MCP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ тЖТ

рдЧрдгрдирд╛ рджрд░реНрдЬ рдХрд░реЗрдВ

рд╕реВрддреНрд░ (рдлреЙрд░реНрдореВрд▓рд╛)

рд╡рд┐рдЬреНрдЮрд╛рдкрди

рдкрд░рд┐рдгрд╛рдо

RGB рдХрд▓рд░
rgb(102, 153, 204)
рд░реЗрдб 102
рдЧреНрд░реАрди 153
рдмреНрд▓реВ 204

HSL рд╕реЗ RGB рдХрдиреНрд╡рд░реНрдЯрд░ рдХреНрдпрд╛ рд╣реИ?

HSL рдХрд╛ рдорддрд▓рдм рд╣реИ рд╣реНрдпреВ (Hue), рд╕реИрдЪреБрд░реЗрд╢рди (Saturation) рдФрд░ рд▓рд╛рдЗрдЯрдиреЗрд╕ (Lightness) тАФ рд░рдВрдЧ рдХреЛ рдмрддрд╛рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рдФрд░ рд╕рд╣рдЬ рддрд░реАрдХрд╛ред рдЗрд╕рдореЗрдВ рд╣реНрдпреВ рдХрд▓рд░ рд╡реНрд╣реАрд▓ рдкрд░ рдПрдХ рдХреЛрдг рд╣реЛрддрд╛ рд╣реИ (0-360┬░), рд╕реИрдЪреБрд░реЗрд╢рди рд░рдВрдЧ рдХреА рддреАрд╡реНрд░рддрд╛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ (0-100%), рдФрд░ рд▓рд╛рдЗрдЯрдиреЗрд╕ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд░рдВрдЧ рдХрд┐рддрдирд╛ рд╣рд▓реНрдХрд╛ рдпрд╛ рдЧрд╣рд░рд╛ рд╣реИ (0-100%)ред рджреВрд╕рд░реА рдУрд░ RGB рдЙрд╕реА рд░рдВрдЧ рдХреЛ рддреАрди рдЪреИрдирд▓реЛрдВ тАФ рд░реЗрдб, рдЧреНрд░реАрди рдФрд░ рдмреНрд▓реВ тАФ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╣рд░ рдПрдХ рдХреА рд░реЗрдВрдЬ 0 рд╕реЗ 255 рддрдХ рд╣реЛрддреА рд╣реИред рдпрд╣реА рдлрд╝реЙрд░реНрдореЗрдЯ рд╕реНрдХреНрд░реАрди, CSS рдФрд░ рдЗрдореЗрдЬ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдХрдиреНрд╡рд░реНрдЯрд░ рдХрд┐рд╕реА рднреА HSL рдХрд▓рд░ рдХреЛ рдЙрд╕рдХреЗ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА RGB рд░реВрдк рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред

HSL рд░рдВрдЧ рд╕рд┐рд▓реЗрдВрдбрд░ рдЬрд┐рд╕рдореЗрдВ рд╡реГрддреНрдд рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рд╣реНрдпреВ, рдХрд┐рдирд╛рд░реЗ рдХреА рдУрд░ рд╕реИрдЪреБрд░реЗрд╢рди рдФрд░ рдЕрдХреНрд╖ рдкрд░ рд▓рд╛рдЗрдЯрдиреЗрд╕ рджрд┐рдЦрд╛рдИ рдЧрдИ рд╣реИ
HSL рд░рдВрдЧ рдореЙрдбрд▓: рд╣реНрдпреВ рдПрдХ рдХреЛрдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╕реИрдЪреБрд░реЗрд╢рди рдЕрдХреНрд╖ рд╕реЗ рджреВрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рд▓рд╛рдЗрдЯрдиреЗрд╕ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдЕрдХреНрд╖ рдкрд░ред

рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреИрд╕реЗ рдХрд░реЗрдВ

рд╣реНрдпреВ рдХреЛ рдбрд┐рдЧреНрд░реА рдореЗрдВ, рд╕реИрдЪреБрд░реЗрд╢рди рдХреЛ рдкреНрд░рддрд┐рд╢рдд рдореЗрдВ рдФрд░ рд▓рд╛рдЗрдЯрдиреЗрд╕ рдХреЛ рдкреНрд░рддрд┐рд╢рдд рдореЗрдВ рджрд░реНрдЬ рдХрд░реЗрдВред рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рддреБрд░рдВрдд рдЖрдкрдХреЛ рдорд┐рд▓рддрд╛-рдЬреБрд▓рддрд╛ rgb(r, g, b) рдорд╛рди рджреЗ рджреЗрдЧрд╛ рдФрд░ рд╕рд╛рде рдореЗрдВ рдПрдХ рд▓рд╛рдЗрд╡ рдкреНрд░реАрд╡реНрдпреВ рд╕реНрд╡реИрдЪ рджрд┐рдЦрд╛рдПрдЧрд╛, рддрд╛рдХрд┐ рдЖрдк рд░рдВрдЧ рдХреЛ рдЖрдБрдЦреЛрдВ рд╕реЗ рджреЗрдЦрдХрд░ рдкрдХреНрдХрд╛ рдХрд░ рд╕рдХреЗрдВред

рдлрд╝реЙрд░реНрдореВрд▓рд╛ рд╕рдордЭреЗрдВ

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ S рдФрд░ L рдХреЛ рдлреНрд░реИрдХреНрд╢рди (0-1) рдореЗрдВ рдмрджрд▓реЗрдВред рдХреНрд░реЛрдорд╛ рд░рдВрдЧ рдХреА рдЪрдордХ-рддреАрд╡реНрд░рддрд╛ рд╣реЛрддреА рд╣реИ: \(C = (1 - |2L - 1|)\cdot S\)ред рдмреАрдЪ рдХрд╛ рдШрдЯрдХ рд╣реИ \(X = C\,(1 - |(H/60 \bmod 2) - 1|)\), рдФрд░ рдореИрдЪ рд╡реИрд▓реНрдпреВ \(m = L - C/2\) рд╣рд░ рдЪреАрдЬрд╝ рдХреЛ рд╕рд╣реА рд▓рд╛рдЗрдЯрдиреЗрд╕ рддрдХ рд╢рд┐рдлрд╝реНрдЯ рдХрд░ рджреЗрддреА рд╣реИред рд╣реНрдпреВ рдХреЛ 60┬░ рд╡рд╛рд▓реЗ рдЫрд╣ рд╕реЗрдХреНрд╕рдЯреЗрдВрдЯ рдореЗрдВ рдмрд╛рдБрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИ; рд╣рд░ рд╕реЗрдХреНрд╕рдЯреЗрдВрдЯ C, X рдФрд░ 0 рдХреЛ R, G, B рдХреЗ рд╕реНрд▓реЙрдЯ рдореЗрдВ рдПрдХ рдЦрд╝рд╛рд╕ рдХреНрд░рдо рдореЗрдВ рдмрд╛рдБрдЯрддрд╛ рд╣реИред рдЖрдЦрд╝рд┐рд░ рдореЗрдВ рд╣рд░ рдШрдЯрдХ рдореЗрдВ m рдЬреЛрдбрд╝реЗрдВ рдФрд░ 255 рд╕реЗ рдЧреБрдгрд╛ рдХрд░реЗрдВ (рдФрд░ рдирд┐рдХрдЯрддрдо рдкреВрд░реНрдгрд╛рдВрдХ рддрдХ рд░рд╛рдЙрдВрдб рдХрд░реЗрдВ)ред

$$(R,G,B) = \big( (R_1+m)\cdot 255,\; (G_1+m)\cdot 255,\; (B_1+m)\cdot 255 \big)$$

$$\text{where}\quad \left\{ \begin{aligned} C &= (1 - |2L - 1|)\cdot S \\ X &= C\,(1 - |(H/60 \bmod 2) - 1|) \\ m &= L - \tfrac{C}{2} \\ S &= \frac{\text{Saturation }(\%)}{100},\quad L = \frac{\text{Lightness }(\%)}{100} \\ H &= \text{Hue }(^{\circ}) \end{aligned} \right.$$

рд╣рд▓ рдХрд┐рдпрд╛ рд╣реБрдЖ рдЙрджрд╛рд╣рд░рдг

HSL(210┬░, 50%, 60%) рдХреЗ рд▓рд┐рдП: \(S = 0.5\), \(L = 0.6\)ред \(C = (1 - |1.2 - 1|) \times 0.5 = (1 - 0.2) \times 0.5 = 0.4\)ред \(H/60 = 3.5\), рдЗрд╕рд▓рд┐рдП \(X = 0.4 \times (1 - |3.5 \bmod 2 - 1|) = 0.4 \times (1 - 0.5) = 0.2\)ред \(m = 0.6 - 0.2 = 0.4\)ред рд╕реЗрдХреНрд╕рдЯреЗрдВрдЯ 3 (\(\le H/60 < 4\)) рд╕реЗ \((R',G',B') = (0, X, C) = (0, 0.2, 0.4)\)ред рдЕрдм m рдЬреЛрдбрд╝реЗрдВ: $$(0.4, 0.6, 0.8) \times 255 = (102, 153, 204)$$

рдЗрдирдкреБрдЯ HSL рдорд╛рди рдФрд░ рдЙрд╕рдХреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд RGB рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд░рдЦреЗ рд░рдВрдЧ рдирдореВрдиреЗ
рдПрдХ рдЙрджрд╛рд╣рд░рдг рд░реВрдкрд╛рдВрддрд░рдг рдЗрдирдкреБрдЯ HSL рдорд╛рди рдФрд░ рдкрд░рд┐рдгрд╛рдореА RGB рд░рдВрдЧ рдирдореВрдирд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИред

рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╡рд╛рд▓

рдореЗрд░реЗ RGB рдирдВрдмрд░ рд░рд╛рдЙрдВрдб рдХреНрдпреЛрдВ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ? RGB рдЪреИрдирд▓ 0 рд╕реЗ 255 рддрдХ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕реНрдХреЗрд▓ рдХреА рдЧрдИ рд╡реИрд▓реНрдпреВ рдХреЛ рдирд┐рдХрдЯрддрдо рдкреВрд░реЗ рдирдВрдмрд░ рддрдХ рд░рд╛рдЙрдВрдб рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕реИрдЪреБрд░реЗрд╢рди 0% рд░рдЦрдиреЗ рдкрд░ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ? рдкреВрд░реА рддрд░рд╣ рдбреАрд╕реИрдЪреБрд░реЗрдЯреЗрдб рд░рдВрдЧ рдПрдХ рдЧреНрд░реЗ рд╢реЗрдб рдмрди рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рд╡реИрд▓реНрдпреВ рд╕рд┐рд░реНрдлрд╝ рд▓рд╛рдЗрдЯрдиреЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ тАФ рддреАрдиреЛрдВ RGB рдЪреИрдирд▓ рдмрд░рд╛рдмрд░ рд╣реЛрддреЗ рд╣реИрдВред

рдЕрдЧрд░ рдореИрдВ 360 рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рд╣реНрдпреВ рдбрд╛рд▓реВрдБ рддреЛ рдХреНрдпрд╛ рд╡рд╣ рд░реИрдк рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ? рд╣рд╛рдБред рд╣реНрдпреВ рдХреЛ 360 рдХреЗ рдореЙрдбреНрдпреВрд▓реЛ рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП 370┬░ рдмрд┐рд▓реНрдХреБрд▓ 10┬░ рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред

рдЕрдВрддрд┐рдо рдЕрдкрдбреЗрдЯ: