2010-10-18 8 views
6

Ho un oggetto BufferedImage e voglio codificarlo nel formato BMP e salvarlo sul disco.BufferedImage a BMP in Java

Come posso fare?

In JPEG è 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(); 

risposta

7

Usa ImageIO -

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

Questo non funziona per qualche motivo. – Pavel

5

Qualcosa del genere dovrebbe fare:

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

dove l'immagine è l'BufferedImage si desidera codificare.