JimiTM Image File Format Support

Contents



 

1 Decoder Overview

Image File Format  Decoder supports Decoder does not yet support Notes
DIB      
DDB      
BMP
  • BMP v2.x v3.x and v4.x BMP Files [ the most common variant ] 
  • OS/2 Variant
  • Palette and True Color images
  • RLE8 and RLE4 compressed images 
   
GIF
  • Interlaced images
  • Images with transparency information set 
  • Loading of a multi-frame GIF using the multi-frame frame load mechanism. 
  Native Java implementation of a GIF decoder
JPEG      
PICT
  • Black & White up to and including 32 bit Color PICT images
  • Compressed PICT images 
   
PNG
  • Palette/Greyscale/True Color images 
  • Transparency chunk for Palette based images. 
  • Some extension chunks (such as ALPHA)
16 bit depth images are truncated down to 8 bit depth on loading.
PSD
  • Photoshop v 2.5 file format images. 
  • Bitmap/Grayscale/Pallette/RGB images
  • Packbits compressed images 
  • Uncompressed images 
   
Sun Raster
  • 4, 8, 16, 24 and 32 bit images 
  • Old type
  • Standard type
  • Byte encoded type
  • RGB format type
  • TIFF format type
  • IFF format type
  • RAW Colormap
  • Experimental type images
 
TGA
  • Black and White / Palette / True Color uncompressed images
  • True Color variants supported include 16 bit, 24 bit and 32 bits which includes loading of alpha channel 
   
TIFF
  • Bi-level / Greyscale / Palette / True Color images
  • Uncompressed images 
  • CCITT compressed Bi-level images with CCITT RLE, CCITT Group 3 1D Fax, CCITT Group 3 2D Fax, CCITT Group 4 Fax 
  • Packbits compressed images 
  • LZW Compressed images 
  • Tiled TIFF files 
  • Handles all values of Orientation
  • TIFF / JPG compression variant 
  • any color space except RGB 
  • True Color images not of Red/Green/Blue format 
 
XBM
  • Full XBM support
   
XPM
  • XPM support with 2 or less characters per pixel
 3 or more characters per pixel This should be adequate support for most cases. 
ICO
  • ICO support.
   
CUR
  • CUR support.
   


2 Encoder Overview

Image File Format  Encoder Notes 
BMP
  • IndexColorModel images encoded as uncompressed BMP palette format 
  • Other ColorModel images encoded as uncompressed 24 bit BMP format 
GIF
  • IndexColorModel images are encoded. 
  • Any other color model images will throw a JimiException 
  • Supports Interlace GIF saving option 
  • Supports Transparency color GIF saving option.. 
  • Animated GIF Encoding (as a "Multiple Image Format") with support for output of minimal frame deltas between successive frames output
JPEG
  • Any ColorModel is encoded 
  • Now supports JPG Quality option for control of JPEG image save quality 
  • Does not support Progressive format.
PICT
  • Encodes Black & White images as bitmap mode PICTs 
  • Encodes gray scale picts from 2 to 8 bits as Palette mode PICTs as PICT doesn't have a gray scale mode 
  • Encodes Palette images as Palette mode picts 
  • Encodes any other image as a 24 bit 3 component direct bits PICT 
  • Pict are Packbits compressed as and when format requires 
PNG
  • IndexColorModel images are encoded as palette PNG 
  • Gray scale format image - which include GrayscaleColorModel images and DirectColorModel images with all the bit masks are saved in Grayscale file format 
  • DirectColorModel and RGB Default ColorModel are output as RGB images with an Alpha mask if it is available from Image 
PSD
  • Any ColorModel is encoded 
  • Specifically saves BITMAP, GRAYSCALE, RGB and INDEXED format PSD files based on the ColorModel of the input image. 
  • Supports RLE compression for all image variants 
  • There is no support for Alpha saving 
Sun Raster
  • Writes 8-bit IndexColorModel images, with or without RLE compression, or RGB format for other color models
TGA
  • IndexColorModel images output in an uncompressed TGA palette format 
  • Other ColorModel images output in an uncompressed 24 bit TGA format 


3 Encoder options

 
File Format  Encoder Property Property Explanation  Possible values
GIF "transparency" Index of color in IndexColorModel which is to be transparent. Integer(0) to 
Integer(255) 
Integer(-1) indicates not set
  "interlace" Specifies whether to save image in interlaced format Boolean.TRUE or Boolean.FALSE
  "image delay" Specifies the delay value to write out to the GIF file for the next image frame. This delay is specified in 1/100 of a second increments therefore a value of 100 indicates a 1 second delay. Integer(0) to Integer(65535) 
Integer(-1) indicates not set
  "local palette" Specifies that each image output in a GIF is saved with a local color table which implies that a global color table is not output. If the value is "false" then only a global color table based on the first image is output. Boolean.TRUE or Boolean.FALSE
  "number of loops" Specifics how many loops to perform for an animated GIF image.  0 indicates infinite looping Integer(0) to Integer(65535)
JPEG "quality" Quality control. A higher value means higher quality but less compression Integer(0) to Integer(100)
PNG "alpha" If Boolean.TRUE then an alpha channel is saved in the PNG file if one is available for the image format. An alpha channel is saved for the image even if the PNG alpha option is null if the alpha channel contains non-trivial data for the image.  Boolean.TRUE or Boolean.FALSE 
or null 
 
  "interlace" Not currently implemented   
  "compression"  Not currently implemented  
  "filter" Not currently implemented  
PSD "compression" Specifies the compression method to use. "rle" or "none"
Sun Raster "compression" Use RLE compression or not? Boolean.TRUE or Boolean.FALSE