2014-02-25 1 views
9

TIF 이미지를 JPG 이미지로 변환하려고합니다. 변환 내 이미지 크기가 약 92킬로바이트 및 비트 심도 = 1 변환 후 나의 새로운 JPG 이미지의 크기가 약 1,573킬로바이트 및 비트 심도 = 24비트 심도를 높이 지 않고 TIF를 JPG로 변환하십시오.

I입니다 전에

SeekableStream s = new FileSeekableStream(tiffUrl); 
    TIFFDecodeParam param = null; 
    ImageDecoder dec = ImageCodec.createImageDecoder(EXT_TIFFX, s, param); 
    RenderedImage op = dec.decodeAsRenderedImage(0); 
    FileOutputStream fos = new FileOutputStream(jpgUrl); 
    JPEGEncodeParam jpgparam = new JPEGEncodeParam(); 
    jpgparam.setQuality(quality);    
    ImageEncoder en = ImageCodec.createImageEncoder(EXT_JEPGX, fos, jpgparam); 
    en.encode(op); 
    fos.flush(); 
    fos.close(); 
    s.close(); 

:이를 위해 다음 코드를 사용하고 새 이미지를 100KB 미만으로 관리해야합니다. 비트 심도를 1로 제어하면이 작업을 수행 할 수 있다고 가정합니다.

이 작업을 수행하는 데 유용한 해결책이 있습니까?

+0

libnetpbm을 참조하십시오. 일부 명령 행 도구 (netpbm)도 있습니다. jfif (.jpeg)가 1 비트 픽셀을 지원한다면 –

+4

이미지 크기를 100KB 미만으로 유지하는 간단한 방법은 그대로 두는 것입니다. JPEG 압축은 1 비트 픽셀 깊이를 지원하지 않으며 이러한 종류의 이미지에는 쓸모가 없습니다. –

+0

@skamamishossifrage가 뭐라고 말합니까? :-) TIFF에는 1 비트/픽셀 데이터에 대해 최적화되고 손실없는 압축 알고리즘이 여러 개 있습니다. JPEG의 경우 회색 음영을 사용할 수 있지만 8 비트/픽셀이됩니다 (손실 될 수 있음). [JBIG] (http://www.jpeg.org/jbig/)가 더 적합 할 것입니다. – haraldK

답변

1

IMHO 고급 및 완벽한 이미징 솔루션이므로 Apache Commons Imaging을 사용해야합니다. 나는 이것을 Tiff 이미지를 PDF로 작성하는 데 사용합니다. examples이 많이 있습니다. 희망이 도움이 될 것입니다!

관련 문제