As some of you maybe aware we launched a image decoding and encoding library called “JDeli” last year with 100% Java code. It arose from our frustration with the current state of support with other image libraries (especially ImageIO), which was holding back development of our core PDF and HTML5 products.
So JDeli was released towards the end of last year with the aim of providing better support for images (especially Jpeg2000 and Tiff decoding) where ImageIO and JAI have issues or have no support. We also added better support for non-RGB colour.
It provides ‘Adobe like’ CMYK to rgb conversion without colorspace profile (only using integer shifts) and our results are much more closer to what we aimed for.
JDeli developments is 2016
JDeli saw a much greater response than we had expected (we were obviously not the only people who needed this issue solved). So we added additional image formats. In December 2016, JDeli has the ability to decode Tiff, Jpeg, Jpeglossless, Jpeg2000, Png, Webp lossy, Dicom, Psd and Bmp images. We also added in the less popular corner case versions such as 12bit Tiff which is not generally supported.
We also found a need to access and process the metadata in images, so we have been adding in additional support for image headers and metadata in image file formats.
Image scaling was added with the QualityScaler utility class which uses Lanczos3 algorithm to scale the images (better results are achieved especially in down sampling). JDeli also provides a Png quantization feature which has the ability to quantize rgb images to 8 bit indexed images with better dithering with smaller files.
So what can we expect in 2017 from JDeli?
We have a long list of ideas and we would like your input. So here are some of the things we MIGHT be considering in 2017.
1. Additional image formats and extensions (for example FITS, Jpeg-XR and Jpeg-LS and the examples pictured below).
2. high speed Jpeg2000 encoding,
3. Convolutional Neural Network based image scaling
4. Pixel art scaling,
5. OCR support,
6. Noise removal.
7. Non-Java wrappers for using the code.
8. General cropping and rotation tools.
9. Virtual memory for handling very large images.
10. Java9 enhanced version.
As we say, none of them may happen or you may see all of them (and others)….
So if you are existing customer, what additional features would you like to see? And if you are not a JDeli customer, what would persuade you to buy it?
Read and write images in Java with one line of code
Read an Image with
BufferedImage image = JDeli.read(streamOrFile);
and write an Image with
JDeli.write(myBufferedImage, OutputFormat.HEIC, outputStreamOrFile)