Question

i a une instance de BufferedImage: (seulement un exemple)

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

maintenant, je ne sais utiliser

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

pour enregistrer cette BufferedImage dans un fichier, mais ce fichier est zipée, pas égale à la taille de l'image originale.

puis-je obtenir l'image originale ByteArray ou OutputStream d'exemple BufferedImage?

Était-ce utile?

La solution

En bref:. Pas

Java convertit les images à une représentation interne et convertit les fichiers à la lecture et l'écriture.

Votre meilleur pari sera de lire les fichiers dans un tableau d'octets (ou dans un fichier temporaire), créer l'image à partir de là. et lors de l'enregistrement du fichier, revenir à la bytearray d'origine ou tempfile.

Autres conseils

public static Image toImage(BufferedImage bufferedImage) { 
    return Toolkit.getDefaultToolkit().createImage(bufferedImage.getSource()); 
} 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top