본문 바로가기

프로그래밍

CMYK <-> RGB

반응형

웹 검색으로 획득한 색공간 상호변환 공식을 아래에 간략히 메모해 둠.

실제 소스 구현 및 검증은 다음 기회에.


0.0 <= c, m, y, k, r, g, b <= 1.0


CMYK -> RGB

float c, m, y, k;

r = 1 - ( c * (1 - k) + k);

g = 1 - ( c * (1 - k) + k);

b = 1 - ( c * (1 - k) + k);


RGB -> CMYK

float r, g, b;

k = Math.min(1-r, 1-g, 1-b);

if (k == 1) {

c = m = y = 0; k = 1;

} else {

c = (1 - r - k) / (1 - k);

m = (1 - g - k) / (1 - k);

y = (1 - b - k) / (1 - k);

}


[P.S.]

HSV <-> RGB 변환은 java.awt.Color 클래스에 이미 구현되어 있으므로 생략한다.

RGB는 장치에 의존적이므로 sRGB인지 AdobeRGB인지 등이 우선 정의되어야 한다..고 한다.

RGB와 CMYK를 변환하는 과정의 중간에 CIE Lab으로 변환해주면 좀더 확실하다고 하겠다.

반응형

'프로그래밍' 카테고리의 다른 글

빅엔디안, 리틀엔디안  (0) 2014.03.07
서보 Servo  (0) 2012.03.07
HTML에 관한 레퍼런스 사이트를 오픈하였습니다.  (0) 2010.12.29
MVC in Rails  (0) 2010.05.26
토글 버튼  (0) 2010.05.25