MCP๋กœ ์—ฐ๊ฒฐ โ†’

๊ณ„์‚ฐ ์ž…๋ ฅ

๊ณต์‹

Show calculation steps (1)
  1. Hue

    Hue: RGB to HSL ์ƒ‰์ƒ ๋ณ€ํ™˜๊ธฐ

    Hue in degrees, selected by which channel is the maximum; result is wrapped into 0-360. If delta = 0 the color is gray and H = 0.

๊ด‘๊ณ 

๊ฒฐ๊ณผ

HSL ์ƒ‰์ƒ
hsl(9, 100%, 64%)
์ƒ‰์ƒ / ์ฑ„๋„ / ๋ช…๋„
์ƒ‰์ƒ (๋„) 9.13ยฐ
์ฑ„๋„ (%) 100%
๋ช…๋„ (%) 63.92%

RGB์™€ HSL์ด๋ž€?

RGB๋Š” ๋นจ๊ฐ•(Red)ยท์ดˆ๋ก(Green)ยทํŒŒ๋ž‘(Blue) ๋น›์„ ์„ž์–ด ์ƒ‰์„ ํ‘œํ˜„ํ•˜๋ฉฐ, ๊ฐ ์ฑ„๋„์€ 0๋ถ€ํ„ฐ 255๊นŒ์ง€์˜ ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. HSL์€ ๊ฐ™์€ ์ƒ‰์„ ์ข€ ๋” ์ง๊ด€์ ์ธ ์„ธ ๊ฐ€์ง€ ์ˆ˜์น˜๋กœ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ƒ‰์ƒ(Hue)์€ 0~360ยฐ์˜ ์ƒ‰์ƒํ™˜์—์„œ ์ƒ‰์ด ์œ„์น˜ํ•œ ์ง€์ , ์ฑ„๋„(Saturation)๋Š” ์ƒ‰์˜ ์„ ๋ช…ํ•œ ์ •๋„(0~100%), ๋ช…๋„(Lightness)๋Š” ๋ฐ๊ณ  ์–ด๋‘์šด ์ •๋„(0~100%)์ž…๋‹ˆ๋‹ค. ๋ช…๋„๋‚˜ ์ฑ„๋„๋ฅผ ์กฐ์ ˆํ•˜๋ฉด ๊ณง๋ฐ”๋กœ "๋” ๋ฐ๊ฒŒ", "๋” ์–ด๋‘ก๊ฒŒ", "๋” ์„ ๋ช…ํ•˜๊ฒŒ", "๋” ์น™์น™ํ•˜๊ฒŒ"๋กœ ์ด์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์—, ๋””์ž์ด๋„ˆ์—๊ฒŒ๋Š” HSL์ด ๋‹ค๋ฃจ๊ธฐ ํ›จ์”ฌ ํŽธํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

RGB ์ •์œก๋ฉด์ฒด์™€ HSL ์›๊ธฐ๋‘ฅ ์ƒ‰ ๋ชจ๋ธ ๋‚˜๋ž€ํžˆ ๋น„๊ต
RGB๋Š” ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘ ์ฑ„๋„๋กœ ์ƒ‰์„ ์ •์˜ํ•˜๊ณ , HSL์€ ์ƒ‰์ƒ, ์ฑ„๋„, ๋ช…๋„๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.

๋ณ€ํ™˜๊ธฐ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

์ƒ‰์ƒ์˜ ๋นจ๊ฐ•ยท์ดˆ๋กยทํŒŒ๋ž‘ ๊ฐ’์„ ๊ฐ๊ฐ 0์—์„œ 255 ์‚ฌ์ด๋กœ ์ž…๋ ฅํ•˜์„ธ์š”. ๊ณ„์‚ฐ๊ธฐ๊ฐ€ ์ฆ‰์‹œ ๋Œ€์‘ํ•˜๋Š” HSL ๊ฐ’์„ ์•Œ๋ ค์ฃผ๋ฉฐ, CSS์— hsl(H, S%, L%) ํ˜•ํƒœ๋กœ ๋ฐ”๋กœ ๋ถ™์—ฌ ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณ€ํ™˜ ๊ณต์‹ ํ’€์ด

๋จผ์ € ๊ฐ ์ฑ„๋„์„ 255๋กœ ๋‚˜๋ˆ  0๊ณผ 1 ์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ์ •๊ทœํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ max, ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ min์ด๋ผ๊ณ  ํ•ฉ์‹œ๋‹ค. ๋ช…๋„๋Š” \(L = (max + min) / 2\) ๋กœ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ max์™€ min์ด ๊ฐ™๋‹ค๋ฉด ๊ทธ ์ƒ‰์€ ํšŒ์ƒ‰ ๊ณ„์—ด์ด๋ฏ€๋กœ ์ฑ„๋„์™€ ์ƒ‰์ƒ์€ ๋ชจ๋‘ 0์ด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์„ ๋•Œ, ์ฑ„๋„๋Š” \(L > 0.5\)์ธ ๊ฒฝ์šฐ \((max - min) / (2 - max - min)\), \(L \le 0.5\)์ธ ๊ฒฝ์šฐ \((max - min) / (max + min)\) ์œผ๋กœ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์ƒ‰์ƒ์€ ์–ด๋А ์ฑ„๋„์ด ์ตœ๋Œ“๊ฐ’์ธ์ง€์— ๋”ฐ๋ผ ๊ฒฐ์ •๋˜๋ฉฐ ๋„(ยฐ) ๋‹จ์œ„(0~360)๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.

$$L = \frac{C_{max} + C_{min}}{2}, \quad S = \begin{cases} \dfrac{\Delta}{2 - C_{max} - C_{min}} & L > 0.5 \\[0.6em] \dfrac{\Delta}{C_{max} + C_{min}} & L \le 0.5 \end{cases}$$

$$\text{where}\quad \left\{ \begin{aligned} R &= \frac{\text{Red}}{255}, \; G = \frac{\text{Green}}{255}, \; B = \frac{\text{Blue}}{255} \\ C_{max} &= \max(R,G,B), \; C_{min} = \min(R,G,B), \; \Delta = C_{max} - C_{min} \end{aligned} \right.$$

$$H = 60^{\circ} \times \begin{cases} \left(\dfrac{G - B}{\Delta}\right) \bmod 6 & C_{max} = R \\[0.7em] \dfrac{B - R}{\Delta} + 2 & C_{max} = G \\[0.7em] \dfrac{R - G}{\Delta} + 4 & C_{max} = B \end{cases}$$

์ƒ‰์ƒ ๊ฐ๋„, ์ฑ„๋„ ๋ฐ˜์ง€๋ฆ„, ๋ช…๋„ ๋†’์ด๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” HSL ์›๊ธฐ๋‘ฅ
์ƒ‰์ƒ์€ ๊ฐ๋„(0~360ยฐ), ์ฑ„๋„๋Š” ์ค‘์‹ฌ์—์„œ์˜ ๊ฑฐ๋ฆฌ, ๋ช…๋„๋Š” ์ˆ˜์ง ์œ„์น˜์ž…๋‹ˆ๋‹ค.

๊ณ„์‚ฐ ์˜ˆ์ œ

ํ† ๋งˆํ†  ๋ ˆ๋“œ RGB(255, 99, 71)์„ ์˜ˆ๋กœ ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ •๊ทœํ™”ํ•˜๋ฉด (1.0, 0.388, 0.278)์ด ๋ฉ๋‹ˆ๋‹ค. \(max = 1.0\), \(min = 0.278\)์ด๋ฏ€๋กœ \(L = 0.639 \to 63.9\%\)์ž…๋‹ˆ๋‹ค. \(L > 0.5\)์ด๋ฏ€๋กœ $$S = (1.0 - 0.278) / (2 - 1.0 - 0.278) = 0.722 / 0.722 = 1.0 \to 100\%$$์ž…๋‹ˆ๋‹ค. ์ตœ๋Œ“๊ฐ’์ด ๋นจ๊ฐ•์ด๋ฏ€๋กœ $$H = 60 \times ((0.388 - 0.278) / 0.722) = 60 \times 0.1525 = 9.1^{\circ}$$์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” hsl(9, 100%, 64%)์ž…๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

ํšŒ์ƒ‰ ๊ณ„์—ด์˜ ์ƒ‰์ƒ ๊ฐ’์€ ์™œ 0์ธ๊ฐ€์š”? ๋นจ๊ฐ•ยท์ดˆ๋กยทํŒŒ๋ž‘ ๊ฐ’์ด ๋ชจ๋‘ ๊ฐ™์œผ๋ฉด ์šฐ์„ธํ•œ ์ƒ‰์ด ์—†์–ด ์ƒ‰์ƒ์ด ์ •์˜๋˜์ง€ ์•Š์œผ๋ฉฐ, ๊ด€๋ก€์ƒ 0์œผ๋กœ ํ‘œ๊ธฐํ•ฉ๋‹ˆ๋‹ค.

HSL๊ณผ HSV/HSB๋Š” ๊ฐ™์€ ๊ฑด๊ฐ€์š”? ์•„๋‹™๋‹ˆ๋‹ค. HSL๊ณผ HSV๋Š” ์ƒ‰์ƒ์€ ๊ณต์œ ํ•˜์ง€๋งŒ ์ฑ„๋„์™€ ์„ธ ๋ฒˆ์งธ ๊ฐ’์„ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋Š” HSL ๊ฐ’์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋ฅผ CSS์— ๋ฐ”๋กœ ๋ถ™์—ฌ ๋„ฃ์–ด๋„ ๋˜๋‚˜์š”? ๋„ค. ์ตœ์‹  ๋ธŒ๋ผ์šฐ์ €๋Š” hsl(9, 100%, 64%)๋ฅผ ์ƒ‰์ƒ ๊ฐ’์œผ๋กœ ๊ทธ๋Œ€๋กœ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค.

์ตœ์ข… ์—…๋ฐ์ดํŠธ: