Ilib is a library (and some tools and examples) written in C that can read, create, manipulate and save images. It is capable of using X11 BDF fonts for drawing text. That means you get lots (208, to be exact) of fonts to use. You can even create your own if you know how to create an X11 BDF font. It can read and write PPM, XPM, GIF, PNG and JPG image format. It can read (but not yet write) BMP.
Note: This code was originally developed in the late 1990s so some the C source code was written for "classic" C before ANSI C was standard everywhere. So functions are defined differently (not ANSI-style).
The Ilib perl module is now included with the distribution. It is not compiled or installed by default. This perl module builds like all other perl modules. AFTER installing the rest of Ilib (see instructions below), do the following:
cd perl perl Makefile.PL make make install
(Normally, you will need to be root to install.)
- Giflib: [http://giflib.sourceforge.net/]
- LibPNG: [http://www.libpng.org/pub/png/libpng.html]
- libjpeg: [http://libjpeg.sourceforge.net/]
Install giflib, libjpeg and libpng if you want to be able to read or write images in those formats. The easiest way to do this is with brew:
brew install giflib brew install libjpeg brew install libpng
Edit Makefile and change DYNAMIC to NO. Then...
make makefiles make -i all
You'll get errors on not being able to find the shared libraries since
the makefiles are still somewhat broken for Mac. But this will build
the static libIlib.a file. You can compile some of the sample client
make static in each example client's directory.
Compiling (Linux, Unix):
In order to make use of GIF, PNG or JPEG, you need to obtain the add-on libraries mentioned above. (First, check your system. If you have a Linux distribution, it's likely to have some of these installed.)
To do so on ubuntu:
yum install libjpeg-devel libpng-devel libgif-devel giflib-devel
Edit the definitions of LIBS, DEFINES, INCLUDES to indicate which libraries are installed. Change PREFIX if you don't want to install in /usr/local.
Also, edit the values of CC and RANLIB if needed.
Then, just type "make makefiles; make all" to build everthing. Both a shared and static library will be buily in the "lib" directory. Type "make install" to install everything (defaults to /usr/local).
Look at the programs in "examples" and "clients" as examples how to use Ilib. The example program "iconvert" shows a handy tool for converting images between different formats and "isample" shows how to draw text, lines, etc.
You should be able to use the Cygnus Win32 package to build Ilib using the provided makefiles. I have not tested this since Ilib v1.0.
Ilib-1.1.0 was built on Win95 with MS Visual Developer (Visual C++). GIFLIB was also built with MS Visual Developer. Sorry, I'm not going to try and provide makefiles or project files for this.
- Automake support, obviously...