X RGB table

Prentice의 이미지

글자 색을 잘 보이게 만들어놓은 HTML 파일이 좀 드문 것 같아서 직접 만들어보았습니다.

http://blacksun.ivyro.net/rgb.htm

$ tail -3 *.dat
==> rawhex.dat <==
#90ee90
#90ee90
#3e73e73e7

==> rawnum.dat <==
144,238,144
144,238,144
999,999,999

==> rgbbg.dat <==
black">
black">
black">

==> rgbcode.dat <==
rgb(144,238,144);
rgb(144,238,144);
rgb(999,999,999);

==> rgbname.dat <==
light green
LightGreen
999

==> rgbnum.dat <==
<p style="background-color:rgb(144,238,144); color:
<p style="background-color:rgb(144,238,144); color:
<p style="background-color:rgb(999,999,999); color:

#include <stdio.h>

int main(void)
{
        int r, g, b, hex;
        hex=0;

        while(hex<999)
        {
        scanf("%d,%d,%d\n", &r, &g, &b);

        hex=(r+g+b)/3;

        printf("#%02x%02x%02x\n", r, g, b);
        }

        return 0;
}

/etc/X11/rgb.txt를 기반으로 gvim을 활용해서 dat 파일 몇개를 만들고, C 파일을 이리저리 수정해가면서 cat foo.dat | ./a.out > new.dat 또는 paste foo.dat bar.dat > baz.dat 이런 식으로 나머지 dat 파일을 생성했습니다.

paste로 dat 파일을 합쳐서 HTML 파일을 만들고 나중에는 gvim으로 일괄 search & replace로 다듬었습니다. dat 파일과 최종 결과물이 많이 다르죠.. ^^;;;

파일이 끝나면 무한 루프에 들어가지 않을까 해서 999 체크를 집어넣었는데 체크는 제 의도대로 작동하지 않았습니다. EOF가 다행히 저를 구제해준 모양인데 뭐 다음에 시간 나면 디버깅을 해볼 생각입니다.

hex라는 변수는 흑/백 글자 판정에도 썼었는데, hex를 만들 때 float로 나누었더라면 좋았을 텐데라는 생각을 HTML을 완성한 후에 해버려서 (즉 귀찮아서) 미처 실천에 옮기지 못했습니다.

----

dat 파일은 이제 없어졌네요. 참고로 현재 rgb.htm은 흑/백 글자 판정을 RGB가 아니라 HSV로, int가 아니라 float로 처리한 버젼입니다.

codebank의 이미지

항상 생각하는거지만 그 많은 색의 이름을 붙이신분이 참으로 존경스럽네요.
뭐 우리나라 처럼 각 색에 대한 이름이 있기보다는 123 식으로 숫자를 붙인건은
뭐하지만 말입니다. :)

그런데 해당 페이지를 보니 몇몇 중복된 색들이 보이던데(2개가 중복되는...) 혹시
중복체크는 안하셨나요?
색 번호로 sort한다음 중복된 부분을 빼버리면 보기가 좋을것이라고 생각되는데...

뭐 그렇다는 이야기입니다. 제가 직접 못하는 부분이니까... :twisted:

------------------------------
좋은 하루 되세요.

Prentice의 이미지

앗 피드백 감사합니다. ^_^ 그런데 rgb.txt를 HTML로 옮긴다는 컨셉트로 만든 것이라서 일부러 중복체크를 안했습니다.

grey vs gray
lowercase words vs CamelCase

It's not a bug, it's a feature. ^^;

primewizard의 이미지

.