Re: Opinions on FreeImage?

I think that Linux and other free OSs still missing good and simple abstract layer for images. It is probably cleaner architecture to have image stuff independent from higher level. As I know image API in Gtk is read-only and it is too few to be useful for application development.

We are using FreeImage in commercial software for sometime and experiences are very good. Library has stable and relativly clean API. Naming of some functions is not probably the best but it can be changed.

FreeImage have also one discutable feature:
Most common libraries (libjpeg, libtiff..) are part of the library and library is staticly linked against these libraries. It is good because library uses only part of the code. This way are application quite stable with ability to control settings of all used libraries (codecs). Small disadvantage is that it does not use shared libraries as libjpeg etc. It is of course possible to change it.

I hope that we will start discussion about possibility to use FreeImage.


Tor Lillqvist wrote:
I just came across yet another image loading/saving/manipulation
library, FreeImage ( It's dual licensed
under GPL and its own FreeImage Public License ("FIPL"). (I am not a
lawyer and can't say whether the FIPL is compatible with the LGPL.)
Anyway, it seems to contain some interresting and useable code, for
instance for high quality arbitrary image rotation, which GdkPixbuf
lacks. It is cross-platform (but still maybe mostly used on Windows).

It has a plain C API (i.e. not any MFC or whatever style influenced
C++ crap, as is common for stuff originating from the Windows
platform). (The API does still have a certain vague "Windows smell" to

Anyway, what do people think of it? I mean, it seems to be a superset
of GdkPixbuf, more or less. Is there some reason why one should use
GdkPixbuf and not FreeImage in a GPL application? Well, GdkPixbuf uses
MMX code for some stuff, so it might be faster for those tasks.


gtk-devel-list mailing list
gtk-devel-list gnome org

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]