- 32 bit ARGB internal image format with each scanline and channel stored separately.
- 128 bit high quality image processing engine, with error-diffusion for colordepth compensation.
- Optional inline MMX assembly where applicable, to speed up image handling.
- In-memory image RLE compression for efficient memory use, while handling large images.
- Import filters for XPM(internal or libXpm), Gimp XCF, JPEG, PNG, GIF, TIFF(full range of formats supported), PNM, PPM, Windows/OS/2 BMP, ICO and CUR.
- Export filters for JPEG (greyscale and color), PNG (greyscale and color with or without alpha),
XPM, GIF (using ungif library) and TIFF (with transparency and compression).
- Image output onto XImage, Pixmap, Pixmap mask, or raw ARGB data.
- Handling of image data in scientific format. Image consist of pixels represented by double precision values, and entire image could be converted into ARGB data on the fly using supplied colormap.
- Could be used both with and without X Window system. When used without X
support it does not even require X libraries to be present, and thus it could
easily be used as image processing tool on web servers, etc.
- XML scripting tool for image processing included ! In fact all the images
on this site has been rendered with this tool.
- The only library that can handle multimage GIF files, using custom workarounds for bugs in ungif library.
- Image reference counting.
- High quality image scaling using bi-linear interpolation.
- Tinting, tiling, flipping, mirroring and padding operations.
- Selective hue, saturation and value adjustments.
- Multiple image blending with tiling and tinting, using any of 15 available methods.
- Multipoint gradient rendering in 4 directions
- Smooth, alpha-blended beveled border rendering.
- Antialiased TrueType text rendering using FreeType 2.
- Font smoothing and rendering using standard X fonts.
- In-memory RLE compression of font glyphs for efficient memory usage, and better speed.
- Texturized, semi-transparent 3D text rendering, using both TrueType and standard X fonts.
- Autodetection of the best available X Visual.
- Fast high quality rendering of images on any X Visual, using error-diffusion to compensate for lack of colors.
- Preallocated palettes of 8, 64 or 4096 colors on PseudoColor X Visuals.
- High quality image quantization with error diffusion dithering.
- Transparent output of any transformation into XImage, raw ARGB, or internal format.
- Conversion of internal image data into any of Pixmap, Pixmap mask or XImage.
- No internal pixmap caching, providing for simpler interface with application.
- Stateless - there are no internal contexts of any kind.
- No useless internal data caching, libAfterImage is smart enough to not need any.
Yet, it provides for means to store image data, exported XImage, Pixmap and Pixmap mask, in single convenient structure.
- There are no color allocation or caching decisions to be made - libAfterImage intelligently does what is best.
- Very small, just about 10000 lines of code. Intense code with no bloat.
- Self-documenting code, providing for most comprehensive reference.
- Several sample applications, completely covering all the aspects of using the library, while actually being useful applications.
- And finally, in the best traditions of self advertising, here it comes :
The Fastest image loading, storing, blending, rendering and manipulation library for X.
Prove me wrong :).