я могу получить оригинальное изображение из BufferedImage? - PullRequest
0 голосов
/ 24 августа 2010

у меня есть экземпляр 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, не совпадает с исходным размером изображения.

можно ли получить исходное изображение ByteArray или OutputStream из экземпляра BufferedImage?

Ответы [ 2 ]

2 голосов
/ 24 августа 2010

Вкратце: нет.

Java преобразует изображения во внутреннее представление и преобразует файлы при чтении и записи.

Лучше всего будет читать файлы в байтовом массиве(или во временный файл), создайте изображение оттуда.и при сохранении файла вернитесь к исходному байтовому массиву или временному файлу.

0 голосов
/ 24 августа 2010
public static Image toImage(BufferedImage bufferedImage) { 
    return Toolkit.getDefaultToolkit().createImage(bufferedImage.getSource()); 
} 
...