FreeImage is an Open Source library project for developers who would like to support popular graphics image formats like PNG, BMP, JPEG, TIFF and others as needed by today's multimedia applications. FreeImage is easy to use, fast, multithreading safe, compatible with all 32-bit versions of Windows, and cross-platform (works both with Linux and Mac OS X).
Thanks to it's ANSI C interface, FreeImage is usable in many languages including C, C++, VB, C#, Java and also in common scripting languages such as Perl, Python, PHP, TCL or Ruby.
The library comes in two versions: a binary DLL distribution that can be linked against any WIN32 C/C++ compiler and a source distribution. Workspace files for Microsoft Visual C++ 6 are provided, as well as makefiles for Linux, Mac OS X and Solaris 9.
FreeImage 3.5.0 brings two new features: a set of functions to deal with memory IO streams and a set of functions to deal with image metadata. Memory IO streams will ease the use of load/save functions with memory buffers. As for metadata, new functions have been added to support the creation, manipulation, loading and saving of image metadata (Exif - including GPS and Maker notes -, IPTC, XMP and GeoTIFF).
This new release includes the new LibTIFF, LibPNG and LibMNG releases. Finally, it provides an enhanced C++ wrapper.
FreeImage can be downloaded from: http://freeimage.sourceforge.net