달나라 노트

Python Basic : RGB, RGB Hex color 변환 본문

Python/Python Basic

Python Basic : RGB, RGB Hex color 변환

CosmosProject 2024. 3. 7. 19:35
728x90
반응형

 

 

 

색상을 나타내는 다양한 방식이 존재합니다.

그 중에서 대표적인 것은 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로 보이는 것을 알 수 있습니다.

 

 

 

 

 

728x90
반응형
Comments