[Python] HEX to RGB, RGB to HEX

색상을 표현하는 방법 중에는 RGB와 HEX 있다. 두 가지 방법 모두 Red, Green, Blue 3가지 값을 가지고 색상을 표현한다.

HEX의 경우 ‘#RRGGBB’ 형식으로 표현 되며 각 위치에 RR(Red), GG(Green), BB(Blue)를 00부터 FF 까지의 16진수로 색을 표현한다.
(Ex) Red: #ff0000, Green: #00ff00, Blue: #0000ff

RGB의 경우 (Red, Green, Blue) 3개 채널 형식으로 표현되며 각 위치에 0부터 255까지의 숫자로 색상을 표현 한다.
(Ex) Red: (255, 0, 0), Green: (0, 255, 0), Blue: (0, 0, 255)

모두 Red, Green, Blue 3개의 색상을 조합하는 형태이며 각 자리의 값을 원하는 형식으로 변경해주면 HEX값을 RGB로, RGB값을 HEX로 전환할 수 있다.

  • HEX to RGB
HEX = '#ff0000' #Red
sixCodes = HEX.lstrip('#')
RGB = tuple(int(sixCodes[i:i+2], 16) for i in (0, 2, 4))
print(RGB) #(255, 0, 0)
  • RGB to HEX
RGB = (255,0,0) #Red
sixCodes = '%02x%02x%02x' % RGB
HEX = '#' + sixCodes
print(HEX) #'#ff0000'