PROG.
HSL Color Space를 사용하는 색상 선택창을 만들어 보자.
NUL
2007. 6. 18. 23:35
"HSV Color Space를 사용하는 색상 선택 창을 만들어 보자"라는 포스트의 업그레이드판 되겠다.
기존 TJnColorPanel 에 HSL을 추가 했고, CMYK에서 K를 빼버리는 만행도 저질렀다. 더 추가하면 RadioBox 대신 ComboBox를 넣어야 하기에, 일단은 여기서 중단. (개인적으로 한눈에 다 보이는 RadioBox를 더 선호함)
우선 기본 개념을 살펴보자.
이전과 바뀐 부분을 확인해 보자.
통일감을 주고자 타입을 전부 Single 형으로 바꾸었다. 레코드 이름이 TColorHLS인 건 오타가 아니다!
TColorHSV와 자꾸 혼동이 되어, 확실히 구분하도록 이렇게 명명한 것이다. (헷갈리는 건 못참는다. 그래도 똑같이 헷갈린다면 할 말 없다.)
CMYK에 대한 함수는 아래와 같이 이미 델파이에 정의되어 있다. 따라서 따로 레코드를 만들지 않았다.
HSV 관련 함수가 변경되었다. TColorHSV 레코드를 실수형으로 바꾸다 보니 저리되었고, 그렇다 보니 수행속도가 더뎌져서 실수, 정수 두 가지 종류의 함수를 구현했다.
정수형만 쓰면 오차가 발생하니까 급할 때만 정수형을 쓰도록 한다.
이번에 추가된 메인 함수!! 위키,구글,Graphics32 라이브러리를 무단 참조했다. 굳이 더 자세히 쓸 게 없다. 결과만 보자 -_-;
invalid-file
기존 TJnColorPanel 에 HSL을 추가 했고, CMYK에서 K를 빼버리는 만행도 저질렀다. 더 추가하면 RadioBox 대신 ComboBox를 넣어야 하기에, 일단은 여기서 중단. (개인적으로 한눈에 다 보이는 RadioBox를 더 선호함)
우선 기본 개념을 살펴보자.
-
HSL Color Space : 위키를 보자
- 친절하게도 이미지, 수식, HSV와의 비교도 쓰여 있다.
- 더는 설명이 필요치 않다고 여긴다.
-
CMYK Color Model - yellow(노랑), magenta(자홍), cyan(청록)인데, 혼합할수록 명도가 떨어진다.
- 이 Color Model은 흰색과 검은 색이 나올 수가 없기에 K로 이를 표현 하지만, 다이알로그의 공간이 모자라는 이유로 여기서는 CMY만을 넣었다.
- 마찬가지의 이유로, YCbCr Model 도 취급하지 않았다.
이전과 바뀐 부분을 확인해 보자.
통일감을 주고자 타입을 전부 Single 형으로 바꾸었다. 레코드 이름이 TColorHLS인 건 오타가 아니다!
TColorHSV와 자꾸 혼동이 되어, 확실히 구분하도록 이렇게 명명한 것이다. (헷갈리는 건 못참는다. 그래도 똑같이 헷갈린다면 할 말 없다.)
CMYK에 대한 함수는 아래와 같이 이미 델파이에 정의되어 있다. 따라서 따로 레코드를 만들지 않았다.
HSV 관련 함수가 변경되었다. TColorHSV 레코드를 실수형으로 바꾸다 보니 저리되었고, 그렇다 보니 수행속도가 더뎌져서 실수, 정수 두 가지 종류의 함수를 구현했다.
정수형만 쓰면 오차가 발생하니까 급할 때만 정수형을 쓰도록 한다.
이번에 추가된 메인 함수!! 위키,구글,Graphics32 라이브러리를 무단 참조했다. 굳이 더 자세히 쓸 게 없다. 결과만 보자 -_-;
HSL Color Space
CMYK Color Model

다운로드 : 언제나 그렇듯 맘대로 쓰되 출처를 밝혀주면 고마울 것이다.