0

以下のコードを使用して画像をアップロードします。

ByteArrayOutputStream baos = new ByteArrayOutputStream();
BufferedImage img = ImageIO.read(new File("abc.tiff"));
ImageIO.write(img, "tiff", baos);
img.flush();  
img=null;

byte[] bytes2 = baos.toByteArray();
if(baos != null) {
    baos.flush();
    baos.close();
}

System.out.println("bytes2 size::::" + bytes2.length);

元の tiff 画像のサイズは 119 kb で、画像のバイトを印刷すると 800974 バイトの長さになります。

画像サイズが大きくなるのはなぜですか?そして、何が問題になる可能性があります

4

2 に答える 2

0

TIFF 形式は、ほとんどの画像形式と同様に、多くの画像モードと圧縮方法をサポートしています。 ImageIO.write()最適化があまり賢くないか、微調整が必​​要な場合があります。たとえばここを参照してください。

于 2013-05-07T14:17:09.207 に答える