The Gif4J library is a Java 1.2 or above compatible class library for creating, manipulating and
encoding (write to output streams) images as gif files on-the-fly.
Note: The newly released Tiger -- Java 2 Platform, Standard Edition 5.0 (as well as previous versions) doesn't
support GIF image writing. Find more information here.
The Gif4J library base features include:
|

 |
Full* GIF89a specification support
including gif animation extensions, local color tables, graphic control
extensions (disposal methods, transparency, delays etc.)
*
The Gif4J library doesn't support only archaic GIF89a extensions
("Plain Text Extension" etc.) which are not supported by widespread GIF
viewers and decoders: first of all Microsoft Internet Explorer etc.
|

 |
The fastest, most intelligent and qualitative color quantizer
for reducing number of unique colors down to 256 or less (GIF format support for any number of colors between 2 and 256).
The Gif4J quantizer supports 8 quantizing modes and produces unattainable results among the most commonly used Java-based
qunatizers including Median-Cut, Octree and NeuQuant..
|

 |
Watermarking:
easy to add, position (absolute and relative positioning are supported) and render watermarks.
|

 |
Text rendering opportunities:
the Gif4J library undertakes to render a text across the single or multiple lines with the specified decorate attributes
such as fonts, background, foreground and outline paints, text centering etc.
Hint: With the help of Gif4J Library you can prevent the grabbing of any privacy information (passwords, e-mails, price lists,
financial reports etc.) by publishing such information as gif images.
|

 |
ImageIO integration:
write GIF files through standard ImageIO API (Java 1.4+) without calling Gif4J methods directly.
|

 |
Simplicity of use:
the Gif4J library undertakes lots of analyzing, converting and preprocessing image operations.
For example, to encode any BufferedImage instance you need to write only one line of a code and it's not necessary to think
of instance's type, size, color model, transparency etc.
|

 |
The Gif4J library is profiled to the extreme speed:
all algorithms' implementations are carefully designed and coded for maximum performance;
the library is thread-safe; there is an embedded object pool system to optimize memory use and prevent often GC running.
|
But the Gif4J library is not only the standard java gif image encoder.
It also includes a plenty of additional opportunities on gif animation and images processing:
|

 |
Resize strategies:
the Gif4J library undertakes to control general image size (take into consideration all internal frames' size and their positions)
using one of the predefined resize strategies.
|

 |
Absolute and relative internal gif frame positioning:
set the position of an immediate frame inside the general GIF image logical screen by providing absolute position or
layout constraint (for example, left-top, bottom-center etc.).
|

 |
Morphing filters:
7 morphing filters with more than 20 morphing options lets you create amazing gif animation without any additional coding.
|

 |
"Force global color table" feature:
by default to provide better quality every GIF frame has own suite of unique colors
(so called "Local Color Table"). To optimize the final GIF file size
(every table takes up to 756 bytes) these tables can be unite to one global color table
using the embedded special edition of the Gif4J quantizer.
|