Sylwia Dorota Kedzia Sylwia is a Java developer. She is very passionate about programming and all things Polish.

How to write JPEG Images in Java

1 min read

In this article I will show you how to write JPEG images in Java.

ImageIO is able to write images as JPEG files, but it offers very little control over the process or output. So we added the ability to write out images as JPEG files to our JDeli Image library. In this article we show you how to use either JDeli or ImageIO and cover the benefits of JDeli.

What is JPEG?

JPEG stands for "Joint Photographic Experts Group,” and is a file format for compressed images. It uses lossy or lossless compression for digital images and is best for saving photographs and paintings of realistic scenes with smooth variations of tone and color (where you do not notice the missing details).

Because JPEG images are not limited to a certain amount of color and contain colorful, high-resolution image data, JPEG is frequently used for storing and transmitting photographic images on the Web (it is supported by all modern Internet browsers) and is one of the most common format saved by digital cameras. There is a tradeoff between size and quality.

The file name extensions for JPEG files are: .jpg and .jpeg.

How to write out an image as a JPEG file in ImageIO

Step 1 Create a File (or OutputStream) object for the JPEG output.

File file = new File("/path/to/outputFile.jpg"));

Step 2 Pass image, jpg type and File (or OutputStream) object into write method

ImageIO.write(bufferedImage, "jpg", 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 JPEG 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.jpx"));

Step 3 Pass image, JPEG type and File (or OutputStream) object into write method

JDeli.write(bufferedImage, "JPEG", file);

In JDeli you can also use a typesafe version

JDeli.write(bufferedImage, OutputFormat.JPEG, file);

or pass in a JpegEncoderOptions object for more control over JPEG image output such as level of Compression, choice of jp2 or jpx output, etc.

JpegEncoderOptions options = new JpegEncoderOptions();
JDeli.write(bufferedImage, options, file);

Why use JDeli to write JPEG images?

JDeli offers a range of advantages over ImageIO and alternatives, including:

  • prevents heap related JVM crashes
  • supports non-RGB colorspaces
  • produces smaller output files
  • faster write performance
  • supports threading
  • superior image scaling algorithms

Learn more about JDeli, or download to try it yourself.

Did you know...

IDRsolutions offers a whole range of online file converters to convert PDF and Microsoft Excel, Word and Office Documents to HTML5, SVG or image formats?

It is free to use for single file conversions and also includes Developer links if you want to use our commercial software for bulk conversions. Find out more on this page

Sylwia Dorota Kedzia Sylwia is a Java developer. She is very passionate about programming and all things Polish.

How to read HEIC image files in Java with…

In this article, I will explain how to read HEIC files into Java as a BufferedImage. ImageIO does not read HEIC file types so...
Mark Stephens
1 min read

How to convert WMF files to SVG in java…

This article will show you how to convert WMF files into SVG files using our JDeli Java Image library. What is WMF? WMF is...
Amy Pearson
1 min read

How to convert EMF files to SVG in Java…

This article shows you how to convert EMF files into SVG files using our JDeli Java Image library. What is EMF? EMF is a...
Mark Stephens
1 min read

Leave a Reply

Your email address will not be published. Required fields are marked *

IDRsolutions Ltd 2020. All rights reserved.