의견등록 - 로그인 후 가능합니다.
강팀장
전에 비슷한 문제로 고민한적이 있습니다. 해결방법이 될지 잘 모르겠지만. 나름대로 해결 했던 방법을 공유해 보겠습니다.
(해결 방법은 아닙니다. ^^;;)

일단.. 색상코드가 6자리라고 하셨으니... RGB 코드 체계라고 전제를 두겠습니다.
6 자리라면....
00 00 00
R G B
이렇게 표현된 16진수 코드로 되어 있습니다. 여기서 조건을 3가지를 두어야 합니다.

1. 16진수 : 0 1 2 3 4 5 6 7 8 9 A B C D E F 코드라고 본다면.... 숫자가 가까울수록 원색에 가깝게 되고 반대로 내려갈 수록 탁한 검정색에 가까워진다는 것을 고려해야 합니다.
2. 빛의 RGB 코드자체는 빛의 코드 체계이기 때문에 전체 코드중 제일 가운데 코드를 넘지 않으면 기본 색상에 큰 차이를 주지 못한다는 것도 알아야 하겠습니다.
3. 단순숫자로 모든 색상코드를 표현한다는 것은 한계가 있으니 2자리는 반드시 같은 숫자로 가야 한다는 것입니다.



예를 들면 Red 일 경우 제일 앞 2자리를 FF이고 나머지는 00 00 으로 FF0000 로 된다고 보시면 되겠죠.
그럼 red 계열의 코드를 보겠습니다. FF(255) 0~36(00 ~ 66) 0~36(00~66) 입니다.
FF0000 ~ FF6666 까지가 모두 RED 계열이라고 볼 수 있습니다.

반대로 GREEN 일 경우
00FF00 ~ 66FF66 까지 모두 GREEN 계열이라고 볼 수 있겠죠.

BLUE 일 경우
0000FF ~ 6666FF까지 모두 BLUE 계열이라고 보시면 됩니다.

일단 이렇게 3가지 색상을 뽑아 냈다면 명도의 차이로 색상을 만들면 됩니다.

예를 들어
FF0000 이 빨간색이라면 5단계 명도를 따라야 합니다.
FF0000 앞자리 2자리가 FF이고 F에 가까우니 원색에 가까운 RED가 됩니다.
CC0000
990000
660000
330000
000000 이렇게 단계로 명도가 낮아지게 됩니다.

00FF00 이 노랑색이라면 5단계 명도를 따라
00CC00
009900
006600
003300
000000 이렇게 단계로 되는 거죠


그럼 이제 회색을 보겠습니다. 회색은 3단위 코드(6자리)가 모두 같으면 회색이 됩니다.
마찬가지로

FFFFFF : 흰색
CCCCCC
999999
666666
333333
000000 : 검정



이제 전에 제가 사용했던 방법을 시도해 보겠습니다.

RED이면 제일 앞 2자리가 FF 로 합이 최소한 26(DD)를 이하로 내려가지 않고 G B 의 합이 12이상 올라가지 않으면 모두 RED 계열이 됩니다.
GREEN이면 마찬가지로 가운데 두자리가 FF ~ DD (두자리 합이 최소한 26을 보다 높고) 나머지 R B의 각각의 합이 12이하는 GREEN 계열
BLUE이면 끝 두자리가 FF ~ DD 이고 나머지 R G 각각의 합이 12이하면 BLUE 계열 이렇게 되죠

예를 들어 12DE43 이면 앞주리 2자리 합(1+2)이 12 이하이고 가운데 2자리 합(D+E)이 26이상 끝 2자리 합(4+3)이 12이하이니 이 색상은 GREEN 계열이 됩니다.
12DE43 은 실제로 녹색에 가깝습니다.


이런 공식을 사용하면 적어도 RGB 3가지와 흰색, 검정, 회색을 총 6가지 색생을 공식화 시킬 수 있습니다.


조금 더 세분화 시킨다면 표준색은 3의 배수로 색상을 더 많이 만들어 낼 수 있을 것 같습니다.

정확한 방법은 아니지만 제 경우를 말씀 드렸습니다.

제 경우 6가지 색상이 필요해서 만들었던 경우입니다.


기획이 색상 알고리즘까지 고민하는 형편을 보면 정말 슈퍼맨이 되어야 되는 것 같습니다.


참조로...
도움이 될까 싶어 링크를 올려 놓습니다.
http://tagin.net/html/colorpicker.htm [색상추츨기]

07.11.19 21:23 | 신고 | 수정 | 삭제
답글 0
입력상자 늘리기
컬러랜드

색상코드값을 변환하는 수식을 검색하시면 여러가지 모듈과 프로그램이 있습니다.

색상군이 정해져 있다면 해당하는 색상군이 어떻게 표현되는지가 우선 관건입니다.

관용색명(빨강/파랑/노랑)으로 표시되는지 아니면 RGB 아니면 CMYK 아니면 팬톰, 또는 HSL, Lab, ....

어찌됐든간에 RGB로 색상값은 변환이 가능하며, 해당하는 색상군의 범위가 RGB로 어떻게 되는지만

정해지면 그리 어려운 문제는 아닌것 같습니다.

색상군에 대한 정보를 주시면 색상의 범위 설정과 변환수식에 대해 알려드리겠습니다.

07.12.14 19:33 | 신고 | 수정 | 삭제
답글 0
입력상자 늘리기

비밀번호 확인

의견 등록시에 입력했던 비밀번호를 입력해 주세요.