In this article, I will show you how to write BMP images in Java. We also have a related article covering how to read BMP files in Java.
ImageIO can write out images as BMP files, but it offers very little control over the process or the output. So we added the ability to write out images as BMP files to JDeli. In this article, I show you how to use either JDeli or ImageIO and cover the benefits of JDeli.
What is a BMP image file?
A BMP is an image file format, commonly known as a bitmap image, with the extension .bmp or .dib. It was originally created by Microsoft for computers running Windows, and it specifies the color of the pixels in a way that allows them to be displayed on any device.
How to write out an image as a BMP file in ImageIO
Step 1 Create a File (or OutputStream) object
File file = new File("/path/to/outputFile.bmp"));
Step 2 Pass image, BMP type and File (or OutputStream) object into write method
ImageIO.write(bufferedImage, "BMP", file);
Note you can easily switch to JDeli and replace ImageIO by just changing ImageIO.write to JDeli.write.
How to write out an image as a BMP file with JDeli
Step 1 Add JDeli to your class or module path. (download link to the trial jar).
Step 2 Create a File (or OutputStream) object
File file = new File("/path/to/outputFile.bmp"));
Step 3 Pass image, BMP type and File (or OutputStream) object into write method
JDeli.write(bufferedImage, "BMP", file);
In JDeli you can also use a typesafe version
JDeli.write(bufferedImage, OutputFormat.BMP, file);
or pass in a BmpEncoderOptions object for more control over BMP image output.
BmpEncoderOptions options = new BmpEncoderOptions();
JDeli.write(bufferedImage, options, file);
Start reading and writing images with one line of code
Read: BufferedImage image = JDeli.read(streamOrFile);
Write: JDeli.write(myBufferedImage, OutputFormat.HEIC, outputStreamOrFile)