RGB to HEX ์์ ๋ณํ๊ธฐ๋?
์ด ๋๊ตฌ๋ ๋นจ๊ฐ(Red), ์ด๋ก(Green), ํ๋(Blue) ์ฑ๋๋ก ์ ์๋ ์์์ ์น, CSS, ๋์์ธ ํ๋ก๊ทธ๋จ, HTML์์ ๋๋ฃจ ์ฐ์ด๋ 16์ง์ ์์ ์ฝ๋๋ก ๋ณํํฉ๋๋ค. ๊ฐ ์ฑ๋์ 0๋ถํฐ 255๊น์ง์ ๊ฐ์ ๊ฐ์ง๋ฉฐ, ๋ณํ๊ธฐ๋ ์ด ์ธ ์ซ์๋ฅผ #FF6347 ๊ฐ์ ์ต์ํ ์ฝ๋์ 10์ง์ ๊ฐ์ผ๋ก ๋ฐ๊ฟ์ค๋๋ค. ์ค์๊ฐ ์์ ๊ฒฌ๋ณธ์ ํตํด ๊ฒฐ๊ณผ ์์์ ๋ฐ๋ก ๋์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ
Red, Green, Blue ์ ๋ ฅ๋์ ๊ฐ๊ฐ 0๋ถํฐ 255 ์ฌ์ด์ ๊ฐ์ ์ ๋ ฅํ์ธ์. ๊ณ์ฐ ๋ฒํผ์ ๋๋ฅด๋ฉด HEX ์ฝ๋, 10์ง์ ์์ ๊ฐ, ๊ทธ๋ฆฌ๊ณ ๊ฐ ์ฑ๋์ด ๋ ์๋ฆฌ 16์ง์๋ก ์ด๋ป๊ฒ ๋ณํ๋๋์ง ํ๋์ ๋ณผ ์ ์์ต๋๋ค. ๋์จ HEX ์ฝ๋๋ ๊ทธ๋๋ก ๋ณต์ฌํด CSS๋ ๋์์ธ ์ฑ์ ๋ถ์ฌ๋ฃ์ผ๋ฉด ๋ฉ๋๋ค.
๋ณํ ๊ณต์ ์์๋ณด๊ธฐ
๊ฐ ์ฑ๋์ 8๋นํธ ์ซ์(0~255)๋ก, ์ ํํ ๋ ์๋ฆฌ 16์ง์(00~FF)์ ๋์ํฉ๋๋ค. ์ด๋ฅผ ํ๋์ 10์ง์ ๊ฐ์ผ๋ก ํฉ์น๋ ค๋ฉด ๋นจ๊ฐ์ 65536(\(16^4\)), ์ด๋ก์ 256(\(16^2\))์ ๊ณฑํ ๋ค ํ๋์ ๋ํฉ๋๋ค:
$$\text{Decimal} = 65536\cdot\text{Red} + 256\cdot\text{Green} + \text{Blue}$$
HEX ์ฝ๋๋ ๋จ์ํ ๊ฐ ์ฑ๋์ 16์ง์๋ก ํ๊ธฐํด ์์ #์ ๋ถ์ฌ ์ด์ด๋ถ์ธ ๊ฒ์
๋๋ค.
$$\text{Hex} = \#\,\text{hex}_2\!\left(\text{Red}\right)\,\text{hex}_2\!\left(\text{Green}\right)\,\text{hex}_2\!\left(\text{Blue}\right)$$
๊ณ์ฐ ์์
RGB(255, 99, 71), ์ฆ "ํ ๋งํ (tomato)" ์์ ์๋ก ๋ค์ด๋ณด๊ฒ ์ต๋๋ค. ๋นจ๊ฐ 255 = FF, ์ด๋ก 99 = 63, ํ๋ 71 = 47์ด ๋์ด HEX ์ฝ๋๋ #FF6347์ ๋๋ค. 10์ง์ ๊ฐ์
$$255\times 65536 + 99\times 256 + 71 = 16{,}711{,}680 + 25{,}344 + 71 = 16{,}737{,}095$$
๊ฐ ๋ฉ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
์ ์ฑ๋๋ง๋ค 16์ง์๊ฐ ์ ํํ ๋ ์๋ฆฌ์ธ๊ฐ์? 255๋ฅผ 16์ง์๋ก ์ฐ๋ฉด FF์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ ์๋ฆฌ๋ฉด 0๋ถํฐ 255๊น์ง ๋ชจ๋ ๊ฐ์ ํํํ ์ ์์ต๋๋ค.
10์ง์ ๊ฐ์ ์ฝ๋์ ์ง์ ์ธ ์ ์๋์? ๋ค, ๊ฐ๋ฅํฉ๋๋ค. ๋ง์ ๊ทธ๋ํฝ API๊ฐ ํ๋์ ์ ์(์: 16737095)๋ฅผ ํจํน๋ ์์ ๊ฐ์ผ๋ก ๋ฐ์๋ค์ ๋๋ค.
HEX์ RGB๋ ์ด๋ป๊ฒ ๋ค๋ฅธ๊ฐ์? ๋์ ๊ฐ์ ์์์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ํ๊ธฐํ ๊ฒ์ ๋๋ค. HEX๋ ๋ ์งง๊ณ ๊ฐ๊ฒฐํ๋ฉฐ, RGB๋ ๋ ์ง๊ด์ ์ผ๋ก ์ฝ๊ธฐ ์ฝ์ต๋๋ค. ์ด ๋๊ตฌ๋ ๋ ํ์์ ๋ชจ๋ ๋ณด์ฌ์ค๋๋ค.