In this article, I will show you how to read JPEG XL images in Java. JPEG XL is a relatively new format so it is not currently supported by ImageIO or Apache Commons Imaging.
How to read JPEG XL images in Java with Jxlatte
Jxlatte is a ‘work-in-progess’ JPEG XL Decoder which can be used to convert to better supported Image formats using this code
java -jar jxlatte.jar samples/art.jxl output.png
How to read a JPEG XL image in Java with xpeg-xl wrapper
There are some Java wrappers for the JPEG-XL library here. These allow you to read the image to a BufferedImage but do not offer a totally native solution.
BufferedImage img = ImageIO.read(Paths.get("/foo/bar.jxl").toFile())
How to read a JPEG XL image in Java with JDeli
JDeli supports reading JPEG XL image files out of the box. You can convert JPEG XL files into other formats directly in JDeli. You can also directly read any JPEG XL image into a Java BufferedImage with this code.
- Add JDeli to your class or module path (download the trial jar).
- Create a File handle, InputStream pointing to the raw JPEG XL image. You can also use a byte[] containing the image data.
- Read the JPEG XL image into a BufferedImage
and the Java code to read JPEG XL…
File file = new File("/path/to/image.jxl");
BufferedImage img = JDeli.read(file);