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

๊ณ„์‚ฐ ์ž…๋ ฅ

๊ณต์‹

Show calculation steps (1)
  1. Hue

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

    d = max - min; hue depends on which channel is the maximum, then multiplied by 60 degrees (a negative result wraps by +360).

๊ด‘๊ณ 

๊ฒฐ๊ณผ

HSL ์ƒ‰์ƒ
hsl(204, 70%, 53%)
์ƒ‰์ƒ / ์ฑ„๋„ / ๋ช…๋„
์ƒ‰์ƒ (H) 204.07ยฐ
์ฑ„๋„ (S) 69.87%
๋ช…๋„ (L) 53.14%
๋นจ๊ฐ• 52
์ดˆ๋ก 152
ํŒŒ๋ž‘ 219

HEX to HSL ์ƒ‰์ƒ ๋ณ€ํ™˜๊ธฐ๋ž€?

์ด ๋„๊ตฌ๋Š” 16์ง„์ˆ˜ ์ƒ‰์ƒ ์ฝ”๋“œ(CSS์™€ ๋””์ž์ธ ํ”„๋กœ๊ทธ๋žจ์—์„œ ํ”ํžˆ ์“ฐ๋Š” #RRGGBB ํ‘œ๊ธฐ)๋ฅผ HSL ์ƒ‰์ƒ ๋ชจ๋ธ โ€” ์ƒ‰์ƒ(Hue), ์ฑ„๋„(Saturation), ๋ช…๋„(Lightness)๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. HSL์€ HEX๋‚˜ RGB๋ณด๋‹ค ๋” ์ง๊ด€์ ์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€๋ฐ, ์‚ฌ๋žŒ์ด ์ƒ‰์„ ์ธ์‹ํ•˜๋Š” ๋ฐฉ์‹ ๊ทธ๋Œ€๋กœ ์ƒ‰์„ ์„ค๋ช…ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ฆ‰ ์–ด๋–ค ์ƒ‰์ธ์ง€(์ƒ‰์ƒ), ์–ผ๋งˆ๋‚˜ ์„ ๋ช…ํ•œ์ง€(์ฑ„๋„), ์–ผ๋งˆ๋‚˜ ๋ฐ๊ฑฐ๋‚˜ ์–ด๋‘์šด์ง€(๋ช…๋„)๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ํ‘œ์ค€ sRGB HEX ํ‘œ๊ธฐ๋ฅผ ๋”ฐ๋ฅด๋Š” ๋ชจ๋“  RGB ๊ธฐ๋ฐ˜ ์ƒ‰์ƒ์— ๋ณดํŽธ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŠน์ • ๊ตญ๊ฐ€๋‚˜ ๋ณ„๋„์˜ ํ‘œ์ค€์— ์ข…์†๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

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

#3498DB์ฒ˜๋Ÿผ HEX ์ƒ‰์ƒ ๊ฐ’์„ ์ž…๋ ฅํ•˜์„ธ์š”. ๋งจ ์•ž์˜ #๋Š” ๋„ฃ์–ด๋„ ๋˜๊ณ  ์ƒ๋žตํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ #0AF์™€ ๊ฐ™์€ ์„ธ ์ž๋ฆฌ ๋‹จ์ถ•ํ˜•์€ ์ž๋™์œผ๋กœ #00AAFF๋กœ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค. ๋ณ€ํ™˜๊ธฐ๋Š” ์ด์— ํ•ด๋‹นํ•˜๋Š” HSL ๊ฐ’๊ณผ ํ•จ๊ป˜ ๋””์ฝ”๋”ฉ๋œ ๋นจ๊ฐ•ยท์ดˆ๋กยทํŒŒ๋ž‘ ์ฑ„๋„ ๊ฐ’(0~255)์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋ณ€ํ™˜ ๊ณต์‹ ์ž์„ธํžˆ ๋ณด๊ธฐ

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

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

$$\text{where}\quad \left\{ \begin{aligned} (R,G,B) &= \frac{\text{RGB from }\text{Hex Color}}{255} \\ \max &= \operatorname{max}(R,G,B),\ \min = \operatorname{min}(R,G,B) \end{aligned} \right.$$

$$H = 60^{\circ} \times \begin{cases} \dfrac{G - B}{d} \bmod 6, & \max = R \\[0.6em] \dfrac{B - R}{d} + 2, & \max = G \\[0.6em] \dfrac{R - G}{d} + 4, & \max = B \end{cases} \qquad d = \max - \min$$

RGB ์ฑ„๋„์˜ ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’์ด ๋ช…๋„์™€ ์ฑ„๋„ ๊ณต์‹์— ์ž…๋ ฅ๋˜๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ
๋ช…๋„๋Š” ๊ฐ€์žฅ ๋ฐ์€ ์ฑ„๋„๊ณผ ๊ฐ€์žฅ ์–ด๋‘์šด ์ฑ„๋„์˜ ํ‰๊ท ์—์„œ, ์ฑ„๋„๋Š” ๊ทธ ์ฐจ์ด์—์„œ ๋‚˜์˜ต๋‹ˆ๋‹ค.

๊ณ„์‚ฐ ์˜ˆ์‹œ

#3498DB๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค: \(R = 52\), \(G = 152\), \(B = 219\). ์ •๊ทœํ™”ํ•˜๋ฉด \(r \approx 0.2039\), \(g \approx 0.5961\), \(b \approx 0.8588\). \(\max = b = 0.8588\), \(\min = r = 0.2039\)์ด๋ฏ€๋กœ \(L = 0.5314\)(53.14%)์ž…๋‹ˆ๋‹ค. L > 0.5์ด๋ฏ€๋กœ $$S = \frac{0.6549}{2 - 1.0627} = 0.6987\ (69.87\%)$$์ž…๋‹ˆ๋‹ค. ํŒŒ๋ž‘์ด ์ตœ๋Œ“๊ฐ’์ด๋ฏ€๋กœ $$H = 60 \times \left(4 + \frac{0.2039 - 0.5961}{0.6549}\right) = 60 \times 3.4011 \approx 204.07^{\circ}$$์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ: hsl(204, 70%, 53%).

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

๋‹จ์ถ•ํ˜• HEX๋„ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ๋„ค โ€” #F0C์™€ ๊ฐ™์€ ์„ธ ์ž๋ฆฌ ์ฝ”๋“œ๋Š” ์ž๋™์œผ๋กœ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค.

HSL ๊ฐ’์ด ์ •ํ™•ํ•œ๊ฐ€์š”? ์ƒ‰์ƒยท์ฑ„๋„ยท๋ช…๋„๋Š” ๋ชจ๋‘ ์ „์ฒด ์ •๋ฐ€๋„๋กœ ๊ณ„์‚ฐ๋˜๋ฉฐ, ํ™”๋ฉด์— ํ‘œ์‹œํ•  ๋•Œ๋งŒ ๋ฐ˜์˜ฌ๋ฆผ๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜์˜ฌ๋ฆผํ•˜์ง€ ์•Š์€ ์›๋ณธ ๊ฐ’๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งจ ์•ž์˜ # ๊ธฐํ˜ธ๊ฐ€ ๊ผญ ํ•„์š”ํ•œ๊ฐ€์š”? ์•„๋‹ˆ์š”. ๋ณ€ํ™˜๊ธฐ๋Š” #๊ฐ€ ์žˆ๋“  ์—†๋“  ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

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