안녕하십니까 코딩 파인애플입니다
이번에는 RGB에 관해 알아보겠습니다.
사실 이 주제를 다루기 전 다뤄지게 된 배경은 미술을 전공하는 랄1부🥚 친구인 더미와 게임하던 중에 시작된 상식 퀴즈가 어쩌다 RGB 이야기까지 번져 재미삼아 다뤄보게 되었습니다.
코딩 파인애플 : 너 빛의 삼원색이 뭔지 아냐?
더미 : RGB.
코딩 파인애플 : 아니 추상적으로 설명하지 말고 구체적으로 ㅂ1ㅅ아
더미 : 아니 그니까 RGB.
코딩 파인애플 : 에휴 ㅂ1ㅅ
살짝좀부족해도괜찮아하지만후횐없썩
RGB란 빨강 (Red), 초록 (Green), 파랑 (Blue)의 빛의 삼원색을 섞어 색을 표현하는 방식을 의미합니다 보편적으로 모니터 화면이나 컴퓨터 그래픽, 게이밍 기기 등 전자기기에서 주로 사용됩니다.

그러면 왜 빨강, 초록, 파랑일까요❓❓❓
우리 눈에는 원추세포라는 색을 감지하는 세포가 존재합니다
이 작은 친구는 크게 세 종류가 있는데 각각 빨강, 초록, 파랑에 민감한 친구들입니다
즉, 저희의 눈은 세 가지 종류의 빛을 조합해 모든 색을 인식하는 겁니다
사실 RGB는 '색'이 아닌 '빛의 양'을 의미합니다
예를 들어서 RGB(255,0,0) 일 경우 빨간빛을 255만큼, 초록빛은 0만큼, 파란빛은 0만큼이라는 뜻이 됩니다
즉, 색 이름으로 바꾸면 '빨간색'이 되는 겁니다
그러면 전자기기또한 그런 식으로 색을 나타낼 수 있는데
예컨데 모니터로 예시를 들자면 모니터를 확대하면 작은 점...픽셀이라고 부르는 애가 존재합니다
이 친구를 좀 더 확대하면 빨강, 초록, 파랑이라는 세 개의 아주 작은 빛으로 이뤄집니다

I am FIRE 🗣️🗣️🗣️🔥🔥🔥🔥
이걸 '서브 픽셀' 이라고 부르는데 RGB값에 따라서 이 친구들의 빛의 세기가 달라집니다
RGB(255,255,0)이라 가정하면 빨간색 서브픽셀이 255만큼의 빛이, 초록색 서브픽셀이 255만큼의 빛을, 파란색 서브픽셀이 0만큼의 광도를 방출합니다
저희 눈은 그 색들의 광도를 조합하여 결론적으로 노란색을 보는 겁니다
우리가 보편적으로 사용하는 0~255 범위는 R,G,B에 각각 1바이트 (8비트)를 할당해, 총 24비트가 되는 '트루 컬러'이기 때문입니다
8비트는 다음과 같이 나타낼 수 있는데
00000000
~
11111111
각 비트의 자릿수마다 1부터 2배수로 값을 나타내기에 총 256이 됩니다
??? : 아니 0~255인데 왜 256이 되는 거임?
사실 '0'까지 포함해서 총 256이 되는 겁니다 그러므로 최대 255가 됩니다
트루 컬러의 특징은 대부분의 전자기기 및 프로세서가 지원하고 색상마다 1바이트라는 넉넉한 샘플을 할당했기에 대부분의 사진을 디지털화해도 위화감이 없다는 것이 특징입니다
참고로 RGB값의 범위는 0~255까지가 아닌 작을수도 혹은 더 높을수도 있는 값입니다
적게는 1비트 (2색 ...) 부터 많게는 96비트 (79,228,162,514,264,337,593,543,950,336색)까지 가능합니다 기술이 발전함에 따라 그 이상의 값도 나타낼 수 있습니다.
대부분의 프로세서는 32비트로 처리하는 경우가 많아 RGB에 1바이트를 더해 (24+8) 쓰는 경우가 있습니다 (이 경우 R 11비트, G 11비트, B 10비트로 할당됨) 비워 두는 경우 단순 패딩이 되지만 (Padding), 이 추가 1바이트를 투명도를 나타내는 알파 채널로 쓰는 경우도 있습니다.
이 경우를 RGBA라고 일컫습니다.
방송국의 로고를 쉽게 접할 수 있는 색입니다 옛날에 KBS, MBC, SBS, KBC, PSB 로고에 쓰였지만, 지금은 사라져 국내에서는 볼 수 없습니다.
# 기호 뒤에 6자리의 문자나 숫자를 붙여서 색상을 표현하는 방식을 HEX 코드라고 부릅니다 6자리는 2자리씩 각각 RED,GREEN,BLUE 를 16진수로 표현하여 나타냅니다 그러므로 #000000 ~ #FFFFFF까지 지원합니다.
이상으로 글을 마치겠습니다 감사합니다.
