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로 제어하면이 작업을 수행 할 수 있다고 가정합니다.
이 작업을 수행하는 데 유용한 해결책이 있습니까?
libnetpbm을 참조하십시오. 일부 명령 행 도구 (netpbm)도 있습니다. jfif (.jpeg)가 1 비트 픽셀을 지원한다면 –
이미지 크기를 100KB 미만으로 유지하는 간단한 방법은 그대로 두는 것입니다. JPEG 압축은 1 비트 픽셀 깊이를 지원하지 않으며 이러한 종류의 이미지에는 쓸모가 없습니다. –
@skamamishossifrage가 뭐라고 말합니까? :-) TIFF에는 1 비트/픽셀 데이터에 대해 최적화되고 손실없는 압축 알고리즘이 여러 개 있습니다. JPEG의 경우 회색 음영을 사용할 수 있지만 8 비트/픽셀이됩니다 (손실 될 수 있음). [JBIG] (http://www.jpeg.org/jbig/)가 더 적합 할 것입니다. – haraldK