BufferedImage to BMP in Java
Asked Answered
E

2

8

I have a BufferedImage object and I want to encode it to the BMP format and save it to disk.

How do I do this?

In JPEG it's 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();
Ency answered 18/10, 2010 at 17:30 Comment(0)
C
11

Use ImageIO -

ImageIO.write(img, "BMP", new File("filename.bmp"))
Carlettacarley answered 18/10, 2010 at 17:36 Comment(1)
Make sure that BufferedImage is BufferedImage.TYPE_INT_RGB and not BufferedImage.TYPE_INT_ARGBBarbitone
C
7

Something like this should do:

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

where image is the BufferedImage you want to encode.

Currajong answered 18/10, 2010 at 17:35 Comment(1)
Make sure that BufferedImage is BufferedImage.TYPE_INT_RGB and not BufferedImage.TYPE_INT_ARGBBarbitone

© 2022 - 2024 — McMap. All rights reserved.