Java Program-Convert PNG to JPG using JAI


In this example, we will use JAI (Java Advanced Imaging) API to convert a PNG image to JPEG format. This post is the last of the PNG to JPG compression series. I have provided some links below if you are keen on other parts of this series:


JPG Conversion using JAI


You need to download JAI from Oracle, and have the following JAR files in your class path for this example to work:
  • jai_codec.jar
  • jai_core.jar

Java Example – PNG to JPG


The complete Java example to convert PNG to JPG format using JAI (Java Advanced Imaging) framework is given below:
import javax.media.jai.*;
public class jai_png_jpg {
  public static void main(String[] args) throws Exception {
      String filename="input_png.png";
      //Read input PNG as a PlanarImage file
      PlanarImage inputfile = JAI.create("fileload", filename); 
      //write output in JPG Format 
      JAI.create("filestore",inputfile,"jai_jpg_output.jpg","JPEG");     
  }
}

Converted Image Size


We used three different approaches to convert PNG to JPG viz JAI, JMagick and ImageIO. A comparison of the output image file size in these cases is provided in the table below:


JMagick JAI ImageIO
171 Kb 112 Kb 112 Kb


This also creates more evidence that JPEG conversion uses identical algorithms in JAI and ImageIO libraries.

We will see how to deal with other complex image conversions in upcoming posts.

No comments:

Post a Comment