jpeg 이미지 파일의 헤더를 읽어 컬러가 rgb인지 cmyk인지 알고싶습니다.
글쓴이: blue39 / 작성시간: 목, 2008/03/27 - 10:36오전
안녕하세요.
jpeg이미지 파일의 헤더를 읽어와 해당 이미지 파일의 컬러셋이 RGB인지 CMYK인지 체크하고 싶습니다.
CxImage라이브러리를 살펴보니 프레임헤더의 component 수를 보고 rgb인지 cmyk인지 판단을 하고
있더군요. 가지고 있는 이미지 몇 개로 테스트를 해보았는데 포토샵에서 rgb로 저장한 파일과 cmyk로 저
장한 파일 모두 component의 수는 3개로 rgb로 체크가 되었습니다. 제가 이미지 쪽에는 지식이 얄팍한
상태라 더 이상의 방법을 찾는것에 한계를 느끼기에 이렇게 질문을 드립니다.
그럼 조언 부탁드립니다.
Forums:
저도 이거 때문에 고생 했었는데요...
http://www.codeproject.com/KB/graphics/cexif.aspx
저는 CExif에서 RGB값을 확인했습니다.
코드프로젝트에 보시면 비슷한 소스가 있으니까요. 함께 참고해보세요.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
우선 답변
우선 답변 고맙습니다 ^^
링크 해 주신 소스를 만든 사람이 CxImage 라이브러리 만든 사람이더군요. 올려주신 참에 따라 들어갔다
가 6.0 소스까지 살펴 봤습니다. CExif는 카메라 정보가 있는 경우 보이지만 jpg 이미지 헤더 자체의
내용은 아닌 것 같더라구요. 우선은 급한대로 component 수가 4개인 경우만 cmyk로 처리해 놓고 있습
니다. jpg 헤더가 생각보다 내용이 많네요. 그래도 좋은 공부가 된 것 같습니다.
그럼 수고하세요~~
저는 이렇게 했습니다.
FILE* hFile = NULL;
hFile = fopen(path, "rb");
if(hFile)
{
memset(&m_exifinfo, 0, sizeof(EXIFINFO));
Cexif exif(&m_exifinfo);
exif.DecodeExif(hFile);
fclose(hFile);
if(m_exifinfo.IsColor == 1) //RGB
{
}
else //JPG이면서 CMYK인 파일포맷 or JPG가 아닌 파일포맷.
{
}
}
소스를 보니까 IsColor 정보가 존재하면 RGB라고 처리했네요. ㅡ_ㅡ;;...
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기