2013-04-02 3 views
0

C++로 스캐너 응용 프로그램을 개발 중입니다. 현재 문서를 스캔하고 이미지를 파일 전송 모드로 가져올 수 있습니다. 그러나 문서의 내용이 다르더라도 스캔 한 모든 문서의 크기는 동일합니다.파일 전송 모드에서 스캔 한 이미지의 크기가 다른 이유는 무엇입니까?

FileFormat:TWFF_TIFF 
Pixel flavout: TWPF_CHOCOLATE 
Xresoultion:75 
Yresoultion:75 
ICAP_UNITS: TWUN_INCHES 
ICAP_PIXELTYPE: TWPT_GRAY 
ICAP_BRIGHTNESS:0 
ICAP_CONTRAST:0 
ICAP_BITDEPTH: 8 

스캔 할 때마다 이미지 크기는 327kb입니다. 왜 이럴 수 있니?

어떻게 JPEG_Compression을 설정할 수 있습니까? 파일 전송 모드가 JPEG_ 압축을 지원합니까?

답변

1

아마 스캐너/드라이버가 압축되지 않은 TIFF 파일을 작성하고 있으므로 파일 크기는 이미지의 크기에만 의존합니다. 각 이미지의 너비가 동일한 &이면 결과 파일의 크기가 동일합니다.

TWAIN의 모든 파일 전송 내용은 TWAIN 자체가 아닌 드라이버에서 구현되며 모든 기능은 선택 사항입니다. 따라서 TIFF 파일을 전송할 때 스캐너/드라이버가 JPEG 압축을 지원하는지 확인해야합니다. 그것은 그렇지 않을 수도 있습니다.

이후에 ICAP_COMPRESSION을 TWCP_JPEG, 으로 설정하면 ICAP_IMAGEFILEFORMAT을 TWFF_TIFF로 설정할 수 있습니다. 아마도 "Old Style"JPEG 또는 "New Style"JPEG 일지 모르지만 둘 다 성공하면 TIFF에서 JPEG 압축을 얻게됩니다. 그게 무슨 뜻인지 모른다면, 알아 내야 할 것입니다. 대부분의 스캐너 (이것은 선택 사항) 파일 전송 모드를 지원하지 않으며 않는 사람들은 할 수있다 : Twirl TWAIN Probe

주의 :

나는 년 전, 아직 Atalasoft에서 유지되고 무료, 실험의 이런 종류의 도구를 썼다 TIFF 파일 형식을 지원하지 않습니다 (필요한 파일 형식은 BMP뿐입니다). 다양한 스캐너를 지원해야하는 경우 TWAIN의 기본 전송 모드 또는 메모리 전송 모드를 사용해야하며 이미지를 직접 작성해야합니다. LibTiff를 사용합니다.