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

๊ณ„์‚ฐ ์ž…๋ ฅ

๊ณต์‹

๊ด‘๊ณ 

๊ฒฐ๊ณผ

HSL ์ƒ‰์ƒ
hsl(9.13, 100%, 63.92%)
์ƒ‰์ƒ, ์ฑ„๋„, ๋ช…๋„
์ƒ‰์ƒ (H) 9.13ยฐ
์ฑ„๋„ (S) 100%
๋ช…๋„ (L) 63.92%

RGB โ†’ HSL ๋ณ€ํ™˜๊ธฐ๋ž€?

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

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

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

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

๋ณ€ํ™˜ ๊ณต์‹ ์„ค๋ช…

๋จผ์ € ๊ฐ ์ฑ„๋„์„ 255๋กœ ๋‚˜๋ˆ  0~1 ๋ฒ”์œ„๋กœ ์ •๊ทœํ™”ํ•ฉ๋‹ˆ๋‹ค. ์„ธ ๊ฐ’ ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ max, ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ min์ด๋ผ ํ•˜๊ณ  \(\Delta = \max - \min\)์œผ๋กœ ๋‘ก๋‹ˆ๋‹ค. ๋ช…๋„๋Š” \(L = (\max + \min) / 2\) ์ž…๋‹ˆ๋‹ค. ์ฑ„๋„๋Š” \(S = \Delta / (1 - \lvert 2L - 1 \rvert)\) ์ด๋ฉฐ, \(\Delta = 0\)์ผ ๋•Œ(์ฆ‰ ํšŒ์ƒ‰์ผ ๋•Œ)๋Š” 0์ด ๋ฉ๋‹ˆ๋‹ค. ์ƒ‰์ƒ(Hue)์€ ์–ด๋А ์ฑ„๋„์ด ๊ฐ€์žฅ ํฐ์ง€์— ๋”ฐ๋ผ ๊ณ„์‚ฐํ•œ ๋’ค 60ยฐ๋ฅผ ๊ณฑํ•˜๊ณ , 0~360ยฐ ๋ฒ”์œ„๋กœ ๋งž์ถฐ ์ค๋‹ˆ๋‹ค.

$$ L = \frac{C_{\max} + C_{\min}}{2}, \quad S = \frac{C_{\max} - C_{\min}}{1 - \lvert 2L - 1 \rvert} $$ $$ \text{where}\quad \left\{ \begin{aligned} R^{\prime} &= \frac{\text{Red}}{255}, \;\; G^{\prime} = \frac{\text{Green}}{255}, \;\; B^{\prime} = \frac{\text{Blue}}{255} \\ C_{\max} &= \max(R^{\prime}, G^{\prime}, B^{\prime}), \;\; C_{\min} = \min(R^{\prime}, G^{\prime}, B^{\prime}) \end{aligned} \right. $$ $$ H = 60^{\circ} \times \begin{cases} \dfrac{G^{\prime} - B^{\prime}}{\Delta} \bmod 6 & C_{\max} = R^{\prime} \\[0.6em] \dfrac{B^{\prime} - R^{\prime}}{\Delta} + 2 & C_{\max} = G^{\prime} \\[0.6em] \dfrac{R^{\prime} - G^{\prime}}{\Delta} + 4 & C_{\max} = B^{\prime} \end{cases} $$
์ƒ‰์ƒ ๊ฐ๋„, ์ฑ„๋„ ๋ฐ˜์ง€๋ฆ„, ๋ช…๋„ ๋†’์ด๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” HSL ์›๊ธฐ๋‘ฅ
์ƒ‰์ƒ์€ ๊ฐ๋„, ์ฑ„๋„๋Š” ์ถ•์œผ๋กœ๋ถ€ํ„ฐ์˜ ๊ฑฐ๋ฆฌ, ๋ช…๋„๋Š” ์ˆ˜์ง ์œ„์น˜์ž…๋‹ˆ๋‹ค.

๊ณ„์‚ฐ ์˜ˆ์ œ

ํ† ๋งˆํ†  ๋ ˆ๋“œ RGB(255, 99, 71)์„ ์˜ˆ๋กœ ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ •๊ทœํ™”ํ•˜๋ฉด \(R=1\), \(G=0.388\), \(B=0.278\) ์ž…๋‹ˆ๋‹ค. \(\max=1\), \(\min=0.278\), \(\Delta=0.722\) ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

$$ L = (1 + 0.278)/2 = 0.639 \rightarrow 63.9\% $$ $$ S = \frac{0.722}{1 - \lvert 2 \cdot 0.639 - 1 \rvert} = \frac{0.722}{0.722} = 1 \rightarrow 100\% $$

max๊ฐ€ R์ด๋ฏ€๋กœ

$$ H = 60 \times \left( \frac{0.388 - 0.278}{0.722} \right) = 60 \times 0.1525 \approx 9.13^{\circ} $$

๊ฒฐ๊ณผ: hsl(9.13, 100%, 63.92%).

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

ํšŒ์ƒ‰์€ ์™œ ์ฑ„๋„๊ฐ€ 0์ธ๊ฐ€์š”? ์„ธ ์ฑ„๋„ ๊ฐ’์ด ๋ชจ๋‘ ๊ฐ™์œผ๋ฉด \(\Delta = 0\)์ด ๋˜์–ด ์ƒ‰ ์ •๋ณด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ์ฑ„๋„๋Š” ์ˆ˜ํ•™์ ์œผ๋กœ ์ •์˜๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ด€๋ก€์— ๋”ฐ๋ผ 0์œผ๋กœ ๋‘ก๋‹ˆ๋‹ค.

H, S, L ๊ฐ’์€ ๋ฐ˜์˜ฌ๋ฆผ๋˜๋‚˜์š”? ํ™”๋ฉด์—๋Š” ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ๊นŒ์ง€ ํ‘œ์‹œ๋˜์ง€๋งŒ, ์‹ค์ œ ๊ณ„์‚ฐ๊ฐ’์€ ์ „์ฒด ์ •๋ฐ€๋„๋ฅผ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์‹œ RGB๋กœ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๋‚˜์š”? ๋„ค. HSL โ†’ RGB๋Š” ์ƒ‰์ƒ ๊ตฌ๊ฐ„(sector)๊ณผ ์ฑ„๋„(chroma)๋ฅผ ์ด์šฉํ•œ ์—ญ๋ณ€ํ™˜ ๊ณผ์ •์œผ๋กœ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

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