As part of our series of Handling common image file formats in Java I will be writing about how we can read JPeg images in Java where I mention the different libraries that enable us to read JPeg images.
What is JPeg?
It is commonly used for digital images as it gives you high quality images. One main feature of JPeg is that it enables you to choose between quality and file size; you can sacrifice quality for a smaller file or vice versa.
There are many libraries out there that can read JPeg images. These include ImageIO, JAI and JDeli. JDeli can read and write a very wide range of image formats. Here is the full list on Image file conversions supported.
How to read JPeg images in Java?
Here are some code examples using Image IO, JAI and JDeli to read JPEG.
File jpegFile = new File("jpegImage.jpg"); BufferedImage image = ImageIO.read(jpegFile);
RenderedImage image = JAI.create("fileload", "test1.jpeg");
You can easily replace ImageIO (and get much better support for JPEG files) by just changing ImageIO.read to JDeli.read:
//Read Image (can also be OutputStream or byte array) File jpegFile = new File("jpegImage.jpg"); BufferedImage image = JDeli.read(jpegFile);
Or you can use the JDeli JpegDecoder directly:
JpegDecoder decoder = new JpegDecoder(); BufferedImage image = decoder.read(rawImageBytes);
We have also created a useful how to series on how to read and write various Image formats. You can find more about this on our Index.