We originally used ImageIO and JAI in our software but it didn’t meet our needs and so we created our own image library, JDeli.Our PNG encoder and decoder speeds up the process of reading and writing PNGs. JDeli also lets you set a compression limit, allowing you to choose the best compression or the fastest compression.
First a quick introduction to PNGs…
What is a PNG?
PNG stands for Portable Network Graphics. It is a lossless image format popular on the world wide web because it supports transparency in browsers.
How do I read PNG Files?
ImageIO is included in the JDK (Javadoc here). Here is how to read a png file with ImageIO:
File imageFile = new File("image.png"); BufferedImage image = ImageIO.read(imageFile);
File imageFile = new File("image.png"); PngDecoder decoder = new PngDecoder(); BufferedImage image = decoder.read(imageFile);
Alternatively, you can use the raw image data:
PngDecoder decoder = new PngDecoder(); BufferedImage image = decoder.read(rawPngData);
You can find more tutorials in our series on handling common image formats in Java, JDeli and other image libraries, including how to write out PNG files in Java.
Latest posts by Bethan Palmer (see all)
- 3 questions raised by Dan Lyons’ ‘Disrupted’ - August 9, 2017
- 6 Things To Read On Your Summer Holiday - August 2, 2017
- The 4 tools we chose to give our customers better service in 2017 - July 27, 2017
- How we use Basecamp to manage and communicate - July 18, 2017
- How we have used close.io to improve our sales operation - July 13, 2017