http://www.littlecms.com/LittleCMS2.9%20API.pdf
상기 URL에 LCMS를 사용하는 API Reference 가 있다. LCMS2는 색상 프로파일을 이용하여 출력되는 영상이 색상을 보정 및 색상 변환을 쉽게 사용할 수 있는 라이브러리이다.
#include "lcms2.h"
int main(void)
{
cmsHPROFILE hInProfile, hOutProfile;
cmsHTRANSFORM hTransform;
int i;
hInProfile = cmsOpenProfileFromFile("sRGBColorSpace.ICM", "r");
hOutProfile = cmsOpenProfileFromFile("MyCmyk.ICM", "r");
hTransform = cmsCreateTransform(hInProfile, TYPE_RGB_8, hOutProfile, TYPE_CMYK_8, INTENT_PERCEPTUAL, 0);
cmsCloseProfile(hInProfile);
cmsCloseProfile(hOutProfile);
for (i=0; i < AllScanlinesTilesOrWatseverBlocksYouUse; i++)
{
cmsDoTransform(hTransform, YourInputBuffer, YourOutputBuffer, YourBuffersSizeInPixels);
}
cmsDeleteTransform(hTransform);
return 0;
}
#include "lcms2.h"
int main(void)
{
cmsHPROFILE hInProfile, hOutProfile;
cmsHTRANSFORM hTransform;
int i;
hInProfile = cmsOpenProfileFromFile("sRGBColorSpace.ICM", "r");
hOutProfile = cmsOpenProfileFromFile("MyCmyk.ICM", "r");
hTransform = cmsCreateTransform(hInProfile, TYPE_RGB_8, hOutProfile, TYPE_CMYK_8, INTENT_PERCEPTUAL, 0);
cmsCloseProfile(hInProfile);
cmsCloseProfile(hOutProfile);
for (i=0; i < AllScanlinesTilesOrWatseverBlocksYouUse; i++)
{
cmsDoTransform(hTransform, YourInputBuffer, YourOutputBuffer, YourBuffersSizeInPixels);
}
cmsDeleteTransform(hTransform);
return 0;
}
이외의 LCMS 자체 Lab에서 지원하는 색상 프로파일이 있으며 로컬에 있는 프로 파일을 읽지 않고 코드상에 직접 생성하여 색상 변환 가능하다. jpgicc.c 파일을 분석 내용과 마찬가지로 LCMS는 이미지에 메타 데이터에서 색상 프로파일을 사용하여서 만든 이미지인지 확인하고 실제 디스플레이(프린터, 모니터, 기타)에 출력될 때 이를 색상 프로파일을 참조하여 출력될 색상을 변환한다. 이상으로 LCMS2 관련한 포스팅을 마친다.
PNG AlphaBall Test Image (0) | 2020.07.01 |
---|---|
SKCMS 컬러프로파일러 (0) | 2020.03.03 |
LCMS2 #7 - jpgicc.c (0) | 2020.01.20 |
LCMS2 #6 - jpgicc.c 파일 분석 (0) | 2020.01.11 |
LCMS2 #5 - Github Contributor 승인 (0) | 2020.01.09 |
댓글 영역