0

BufferedImageインスタンスがあります:(例のみ)

BufferedImage image = ImageIO.read(new URL("http://www.google.com/intl/en_ALL/images/srpr/logo1w.png"));

今、私は使用を知っているだけです

ImageIO.write(image,"jpg", file); //or ImageIO.write(image,"png", file);

このBufferedImageをファイルに保存しますが、このファイルはZIPされており、元の画像サイズと同じではありません。

BufferedImageインスタンスから元の画像ByteArrayまたはOutputStreamを取得できますか?

4

2 に答える 2

2

要するに:いいえ。

Java は、イメージを内部表現に変換し、読み取りおよび書き込み時にファイルを変換します。

最善の策は、ファイルをバイト配列 (または一時ファイル) で読み取り、そこからイメージを作成することです。ファイルを保存するときは、元のバイト配列または一時ファイルに戻ります。

于 2010-08-24T07:15:10.360 に答える
0
public static Image toImage(BufferedImage bufferedImage) { 
    return Toolkit.getDefaultToolkit().createImage(bufferedImage.getSource()); 
} 
于 2010-08-24T07:08:49.790 に答える