Python Basic : RGB, RGB Hex color 변환
색상을 나타내는 다양한 방식이 존재합니다.
그 중에서 대표적인 것은 RGB가 있는데 Red, Green, Blue 각각의 색상 성분을 0 ~ 255 사이의 숫자로 표기하여 최종 색상을 나타내는 방식입니다.
RGB는 Red, Green, Blue 총 3개의 요소를 조합하여 색상을 나타내는 방식입니다.
R (Red) -> 빨간색 성분을 나타냄. (0 ~ 255 사이의 숫자를 사용하며 숫자가 커질수록 빨간색 성분이 강해짐.)
G (Green) -> 초록색 성분을 나타냄. (0 ~ 255 사이의 숫자를 사용하며 숫자가 커질수록 초록색 성분이 강해짐.)
B (Blue) -> 파란색 성분을 나타냄. (0 ~ 255 사이의 숫자를 사용하며 숫자가 커질수록 파란색 성분이 강해짐.)
RGB Hex code 방식도 이와 비슷한데
RGB Hex code는 RGB를 Hex code로 나타낸 것입니다.
RGB에 있는 R, G, B 각각의 성분값을 16진수로 변경하여 나열한 것입니다.
RGB = (0, 0, 0)
Hex = #000000
RGB와 RGB Hex code는 각각 위처럼 나타내어집니다.
RGB는 보통 위처럼 R, G, B 성분에 대한 수치를 나열합니다.
RGB Hex code는 RGB에 있는 각 요소를 16진수로 바꿔서 나열하는데
RGB Hex code는 가장 앞에 #이 붙고 총 6자리의 숫자 또는 문자가 옵니다.
# 뒤의 숫자는 각각 아래와 같은 의미를 가집니다.
처음 두 자리 숫자 = R(Red, 빨강)
중간 두 자리 숫자 = G(Green, 초록)
마지막 두 자리 숫자 = B(Blue, 파랑)
앞에서부터 2자리씩 각각 Red, Green, Blue의 16진수를 의미한다고 보면 됩니다.
즉, RGB에서 각각의 요소를 16진수로 변환하여 나열한게 Hex color가 됩니다.
이 내용을 코드로 구현하면 아래와 같습니다.
R = 166
G = 128
B = 255
# convert RGB value to Hexadecimal code
R_hex = hex(R).replace('0x', '')
G_hex = hex(G).replace('0x', '')
B_hex = hex(B).replace('0x', '')
print(R_hex)
print(G_hex)
print(B_hex)
rgb_hex_color_code = '#{r_hex}{g_hex}{b_hex}'.format(
r_hex=str(R_hex).ljust(2, '0'), # A_hex 값이 한 자리 수인 경우를 대비해 ljust 사용하여 왼쪽에 0 붙임.
g_hex=str(G_hex).ljust(2, '0'), # R_hex 값이 한 자리 수인 경우를 대비해 ljust 사용하여 왼쪽에 0 붙임.
b_hex=str(B_hex).ljust(2, '0') # G_hex 값이 한 자리 수인 경우를 대비해 ljust 사용하여 왼쪽에 0 붙임.
)
print(rgb_hex_color_code)
-- Result
#a680ff
RGB = (166, 128, 255) 색상을 Hex color로 바꾸는 코드입니다.
Hex color code는 #a680ff로 보이네요.
구글에서 RGB = (166, 128, 255)를 찾아보면
Hex color가 #a680ff로 보이는 것을 알 수 있습니다.