이미지 메타 정보 확인 -> 색상프로파일 위치 확인 -> 트랜스폼 생성 -> 생성한 트랜스폼으로 렌더링
위의 절차를 갖는다.
이미지 포맷의 메타정보, XMP 등 추가 정보를 읽어서 프로파일 정보가 있는지 확인 한다.
색상 프로파일 사용 유무를 결정 해야한다.
첫 번째, 내장 프로파일 유무 확인
두 번째, 디바이스 경로의 프로파일 확인
세 번째, 위 두가지가 없고 LCMS2 에서 지원하는 색상 프로파일이면 프로파일 생성
네 번째, 위 3가지가 없다면 프로파일을 생성하지 않는다.
if (lIsDeviceLink) {
OutputColorSpace = GetDevicelinkColorSpace(hIn);
} else {
OutputColorSpace = GetProfileColorSpace(hOut);
}
cmsHTRANSFORM xform; 실제로 색상 프로파일을 생성 한다.
xform 을 생성 하기 위해서는 cmsCreateProofingTransform, cmsCreate* 계열 메소드를 사용한다.
xform = cmsCreateProofingTransform(hIn, wInput, hOut, wOutput, hProof, Intent, ProofingIntent, dwFlags);
while (Decompressor.output_scanline < Decompressor.output_height)
{
// SCANLINE 단위로 읽어 온다.
jpeg_read_scanlines(&Decompressor, &ScanLineIn, 1);
// 생성한 transform 기준으로 색상 프로파일을 적용하여 Dest Color 로 변환
cmsDoTransform(hXForm, ScanLineIn, ScanLineOut, Decompressor.output_width);
.....
}
SKCMS 컬러프로파일러 (0) | 2020.03.03 |
---|---|
LCMS2 #8 - 색상 변경 예제 (0) | 2020.01.21 |
LCMS2 #6 - jpgicc.c 파일 분석 (0) | 2020.01.11 |
LCMS2 #5 - Github Contributor 승인 (0) | 2020.01.09 |
LCMS2 #4 - Pull Request Github (1) | 2020.01.09 |
댓글 영역