As mentioned in an earlier blog post, we have abandoned JAI completely and mostly replaced ImageIO for image manipulation in our software. We have written our own custom image implementations in pure Java for our usage of JPEG/JPEG2000, TIFF and PNG. We are releasing these classes as JDeli.
JDeli is at least as fast as JAI/ImageIO, and in several cases an order of magnitude faster. It adds new functionality and make better use of memory. It is also much simpler and avoids issues running the old JAI library on servers. We have a long list of ideas for additional features, other formats and further improvements to performance – this is just the first release…
Finally, the rewrite has also allowed us to fix lots of the issues we had with image decoding (those annoying black spots in some JPEG2000 files are all gone).
This image functionality is actually peripheral to our main activities, and we suspect that we are not the only people with these issues. So we have put this code into a separate jar which anyone can download and evaluate for free. If you wish to use the library commercially, you will need a binary or a distribution license. The money from this allows us to further develop the image library (we have a long wishlist of exciting features to add).
We will continue to expand and develop the image support and will have regular updates. If you wish to suggest improvements or sponsor enhancements we would be happy to hear from you.
There is no warranty or support provided (if this important to you, contact us and we will see if we can come to some arrangement).
We are very pleased with the new Image support we can now make use of on the Java platform and we hope you find it useful as well.
For the rest of the week we will be running a series of Image tutorials on our website, telling you how you can handle Images in Java with ImageIO, JAI and our new library.
We have also created a useful how to series on how to read and write various Image formats.
- How to Write out TIFF in Java
- How to Read TIFF Images in Java
- How to generate smaller PNG files in Java
- How to read JPEG2000 in Java
- How to Write out JPEG Images in Java
- How to write out PNG in Java