|Library / package
|AC.lib ICO - Java library for ICO files
||Read Microsoft Windows ICO files. Supports the |
javax.imageio framework, but the library can also be used from older (pre 1.4) Java runtime environments.
|ACME Java code
||Special license on the website.
||Read PPM (Portable PixMap), write GIF and PPM.|
|AutoVue for Java
||Various raster image file formats, including TIFF.|
||Apache Software License 1.1
||The Batik toolkit also contains image I/O packages below the |
org.apache.batik.ext.awt.image.codec hierarchy. Read and write PNG and TIFF.
||Free for personal use.
||Read BMP files with 1, 8 or 24 bits, write BMP files with 24 bits. A demo viewer and documentation are included.|
||Unknown to me.
||Read Windows BMP files. This one comes with a nice introduction one how to deal with images in Java.|
|BMP Read Sample
||BMP loader, includes sample application.|
||Javaworld.com tip 60. Write Windows BMP files.|
|BMS Java Imaging Viewer (JIVe)
||Supports MO:DCA (IOCA [CCITT G3,G4, G4-MMR & JPEG encoding] and PTOCA), AFP (LIST3820), TIFF (various compression types), ASCII, EBCDIC, BMP, GIF, JPEG.|
|DICOM Image I/O plugin
||Commercial, evaluation version available.
||Read and write DICOM image files. Uses the ImageIO API which has been introduced with Java 1.4.|
||Supports TIFF Group 4 decoding. Seems to be tested with all kinds of browsers on different platforms to be used in an applet.|
|FM Software GifDecoder, AnimatedGifEncoder
||Read and write one image and animated GIF. Includes a high quality color quantizer (a port of NeuQuant to Java) to reduce truecolor to palette images. A class to read uncompressed and RLE-compressed PSD files (Photoshop) was recently added.|
|GIF decoder and encoder
||Read RLE GIF files. RLE (runlength encoding) will result in larger files compared to standard LZW GIFs, but has not the patent problems of LZW. The corresponding encoder was never completed, and the author does not intend to do so in the future.|
||A GIF encoder, plus an implementation of an Octree color quantizer to reduce the number of colors, as GIF only supports up to 256 different colors in an image.|
||Commercial (PRO and LIGHT versions)
||Read and write GIF files. Supports creation of animations including color image quantization, text rendering etc. Offers several image editing algorithms, adding comments and watermarking GIFs (watermarking here means adding images on top of other images, not adding information to identify stolen images).|
||Based on the ACME encoder, this package offers more features, including encoding of animated GIFs and textual comments. Source code included.|
||Write one-image and animated GIF files. Supports transpareny. Comes with source code.|
||Free for non-commercial use.
||Write GIF files.|
||IBM Internet License Agreement
||See the Image Conversion section, it has code to read and write Windows BMP files.|
|ICJ (Image Converters for Java)
||Supports reading and writing of JPEG, PNG, BMP, GIF and PCX as well as dithering (presumably in combination with color quantization).|
||Read Windows icon files (.ico). To be used as part of the ImageIO framework, requires Java 1.4+.|
|Image Saving Toolkit for Java Images(JVG/JIS)
||Write PNG, PICT, BMP, TIFF, TGA. Reads some of those as well. Class library and Java Beans. Seems to come with its own JPEG encoder, independent of IJG code.|
||Free for non-commercial use.
||Read and write GIF, TIFF, JPEG. Read BMP, DICOM, FITS and PGM.|
||Read and write various formats, including TIFF, BMP, MO:DCA, IOCA and CALS.|
||Free for non-commercial use.
||Read BMP, TGA, TIFF, PNG, JNG, MNG, JPEG, CRW, PSD, GIF and MRW. Read thumbnails and metadata from those formats. Read thumbnails from THM. Read all embedded images from EPS files.|
||[Page is gone; I'm trying to find the author] Saves an Image instance as a GIF file. No source code is provided.|
||Read and write PPM and Windows BMP files. Also can load GIF and JPG via Toolkit. Uses the Obrador codec to write JPEGs. Comes with source code.|
|JAI (Java Advanced Imaging)
||An image processing toolkit; Sun also provides the source code for the 1.0 image codecs. There is a page dedicated to image I/O issues.|
|Java Advanced Imaging Image I/O API
||Reader-writer plug-ins for the 1.4+ javax.imageio package. Supported: BMP, JPEG, JPEG 2000, PNG, PNM, Raw, TIFF, and WBMP image formats.|
|Java Image Loader
||Image reading that is fast (using native code via JNI) and uses relatively little memory for GIF, JPEG, PNG (1.0), TIFF, TGA, BMP and XPM/XBM. Seems to work under Win32 only at the moment, but uses free, well-tested standard libraries like IJG, libtiff, libpng etc. which work under many platforms and are relatively easy to port to new ones.|
||Read PNG (Portable Network Graphics) files.|
|JDDK (Java DICOM Development Kit)
||Commercial library, 30 day trial version.
||Read and write DICOM, the file format for medial images.|
||Sun Binary Code License Agreement
||Sun development kit to read and write several formats, including GIF, JPEG, TIFF, PNG, PICT, PSD, BMP, TGA, ICO, CUR, RAS, XBM, XPM and PCX.|
|JIU—Java Imaging Utilities
||Java imaging library with support for PNG, GIF, IFF, RAS, PCD, PBM/PGM/PPM/PNM, PSD, TIFF (uncompressed, PackBits, Deflate, CCITT-1D, LogLuv).|
||An implementation of the JPEG 2000 image compression standard.|
||A wrapper to the functionality of ImageMagick, a powerful free imaging library (supported formats). JNI is used to access native code (written in C).|
|JPEG baseline decoder and encoder
||Special license at the beginning of each source code file.
||Read and write JPEG files.|
|JPEG baseline encoder
||Commercial (previously freeware)
||Write JPEG files.|
||Read various RAW formats of digital cameras like Nikon's NEF or CRW/CR2 with Canon. Pure Java code.|
|LizardWorks TIFF library
||Read TIFF (Tagged Image File Format) files. Some files of the toolkit seem to be under the GPL, others under the LGPL.|
|LONI Java Image I/O Plugins
||Read and write DICOM, ECAT, GE, MINC, AFNI, ANALYZE, and NIFTI (medical image file formats).|
|LuraWave Java SDK
||Read and write LuraTech's proprietary LWF format. Offers several types of compression, lossy and lossless, some of the wavelet-based. Java 1.1.7 or higher required. Trial version and applets available.|
|Netbrand Flexible Imaging System (FITS)
||Supports GIF, JPEG, PNG, BMP, TIFF, FlashPix (I.I.P.), and WinFax. Makes use of |
platform-specific hardware enhancements. Evaluation sample applets and beans are available.
||Read PCX files. Source code available with either English or German comments.|
|PGM and PPM in Java
||Read and write PGM and PPM images, the page is in French, but the code has method names in English.|
||Read Macintosh PICT files (pixel and vector graphics parts are both supported)|
||Commercial, demo available
||Supports TIFF (including G3 and G4), BMP, JBIG (for bilevel images), GIF and JPEG. It is not clear whether all formats will be read and written.|
||Write PNG files (with up to 8 bits per channel). Support for an alpha channel is implemented.|
||Save an Image object as PNG (Portable Network Graphics) file.|
||Read and write numerous image file formats, including TIFF, DICOM, MO:DCA, PCL, JBIG, JPEG and BMP. Also provides various image editing and processing operations.|
||Read RLE-compressed SGI RGB image files. Part of the City Scanning Project.|
|Sanselan Java Image Library
||Read PNG, GIF, TIFF (LZW, CCITT/Huffman, Packbits), BMP, PSD, PBM/PGM/PPM/PNM.|
|Sixlegs PNG library
||Read and write PNG (Portable Network Graphics) files.|
|Sun's com.sun.image.codec.jpeg package
||Unknown to me (maybe same as Java).
||Read and write JPEG files; classes included in Sun's JDK/JRE 1.2+, but not standard library classes, so you cannot rely on them being there with every Java VM! Documentation can be downloaded from Sun's website.|
||Commercial, trial version available
||Read TIFF, BMP, GIF, JPG and PNG. Various TIFF compression types are supported, decoding is relatively fast. Also includes printing, viewing and image processing functionality. Available as application (or applet) or toolkit.|
||Commercial, demo version available
||A TIFF decoder for compression methods Group 4, Group 3 (1-D and 2-D), TIFF Mode 2 and LZW.|
||Dynamic generation of WBMP graphs from XML data using JavaBeans and JSP. Includes sample code to write WBMP files.|
||Library to write various wireless image file formats: (animated) WBMP, OTB, NLM.|
||Free for evaluation, nothing about licensing the code.
||Write WBMP files. Also provides implementations of several algorithms for reducing images to black and white, plus a couple of image editing features (scaling, flipping, mirroring).|
|XPM color image utility class
||Read XPM files.|