2010-10-18 39 views
6

J'ai un objet BufferedImage et je veux l'encoder au format BMP et l'enregistrer sur le disque.BufferedImage to BMP in Java

Comment faire?

En JPEG il est ok:

BufferedImage img; //here is an image ready to be recorded into the hard disk 
FileOutputStream fout = new FileOutputStream("image.jpg"); 

JPEGImageEncoder jencoder = JPEGCodec.createJPEGEncoder(fout); 
JPEGEncodeParam enParam = jencoder.getDefaultJPEGEncodeParam(img); 

enParam.setQuality(1.0F, true); 
jencoder.setJPEGEncodeParam(enParam); 
jencoder.encode(img); 

fout.close(); 

Répondre

7

utilisation ImageIO -

ImageIO.write(img, "BMP", new File("filename.bmp")) 
+2

Cela ne fonctionne pas pour une raison quelconque. – Pavel

5

Quelque chose comme cela devrait faire:

ImageIO.write(image, "BMP", new File("filename.bmp")); 

où l'image est le BufferedImage que vous souhaitez encoder.