설찬범의 파라다이스
글쓰기와 닥터후, 엑셀, 통계학, 무료프로그램 배우기를 좋아하는 청년백수의 블로그
RGB (1)
RGB 색상(256 컬러)의 원리
반응형



 초등학교에서 컴퓨터, 특히 HTML을 공부하다 보면 짜증이 납니다. 보기로는 참 간단한데 메모장에 HTML을 일일이 쓰려니 귀찮기 짝이 없습니다. 이미지, 표, 가운데 정렬까지 메모장에 글자로 쓰다 보면 '내가 왜 이걸 배우나' 하는 생각도 듭니다. 요즘이야 회원가입만 하면 사이트나 블로그를 만들고 홈페이지 만드는 프로그램도 많지만 그때는 그랬습니다. USB는커녕 플로피 디스크가 현역이던 시절 이야기입니다.


  HTML을 공부하다 보면 글자색도 글자색으로 써서 표현했습니다. '#000000' 같은 식으로요. 컴퓨터 교재에는 색마다 이런 숫자코드를 올려놓았죠. 숫자만 있으면 상관이 없는데 F 같은 문자까지 들어가서 더 어리둥절했죠. 도대체 무슨 원리였나? 무슨 근거로 파란색은 #0000FF고 보라색은 #800080일까?




  이렇게 웹에서 사용하는 색상 표기는 RGB 가산혼합을 따릅니다. 쉽게 말해 제일 기본이 되는 세 가지 색을 여러 비율로 조합해서 원하는 색을 만들어냅니다. 그 기본이 되는 세 가지 색은 빛의 삼원색인 RGB, 빨강과 초록과 파랑입니다. 가산혼합이라는 말은 점점 더해가면서 섞는다는 뜻인데, 아무것도 섞지 않은 상태에서 점점 더해간다는 말입니다. 아무런 빛이 없으면 무슨 색일까요? 맞습니다. 검은색입니다. 빛이 아주 세면 무슨 색일까요? 네, 하얀색입니다. RGB 가산혼합에서 아무 빛도 혼합하지 않으면 검은색, 모두 혼합하면 흰색입니다.


  # 뒤에 여섯 자리는 각각 빨강, 초록, 파랑이 섞이는 양입니다. 각각 두 자리씩 담당합니다. 숫자가 들어가는 양은 0에서 255까지입니다. 0이 최소고 256이 최대입니다. #000000은 빨강 00, 초록 00, 파랑 00으로 세 가지 색이 하나도 들어가지 않았다는 뜻이고, 위에서 말했다시피 아무 빛도 없는 검은색입니다. #FFFFFF는 세 가지 색이 전부 가득 들어갔다는 뜻이고, 역시 위에서 봤듯이 모든 빛이 들어간 흰색입니다.


  F가 뭐냐고요? 놀랍게도 F는 숫자입니다. 16진법이거든요. 16진법은 간단히 말해서 '9 다음에 10이 아니라 15 다음에 10이라고 하자'입니다. 10이 한 세트가 아니라 16이 한 세트라 이 말입니다. 예를 들어 평소에 쓰던 10진법에서 123은 '100과 20과 3'입니다. 하지만 16진법에서 123은 '16X16과 16X2와 3'입니다. 하지만 숫자는 9까지밖에 없는데, 10 이상의 수는 16진법에서 어떻게 표현할까요? 알파벳으로 표기합니다. 10진법을 초과한 진법에서 10은 A, 11은 B....로 표기합니다. 16진법은 한 자리가 15까지 갑니다. 15는 F죠. 16진법에서 FF는 255로 두 자릿수로 나타낼 수 있는 최대값입니다.


  이해가 되시나요? 여러 색들을 예로 들어 볼까요?



검정 #000000

흰색 #ffffff

회색 #808080

빨강 #ff0000

파랑 #0000ff

초록 #008000

보라 #800080

노랑 #ffff00

주황 #ffa500



이렇게 여러 색들을 세 색을 조합해서 나타낼 수 있습니다. HTML에서는 주요 16색은 16진법 숫자에 추가로 색 이름을 써도 입력이 가능하도록 해 놓았습니다. 하지만 전 여전히 프로그램을 쓰는 게 좋네요.

 

 

256색과 16진법 코드 보기

http://schbeom.tistory.com/98

반응형
  Comments,     Trackbacks