Imager

Imager
is a perl module for manipulating gray, color and rgba format
images. It can read various file formats, has lots of filters, a
builtin interpretered language for blends, fades and multi-image
effects. It has drawing primitives and supports antialiased truetype
and postscript fonts. It also has a plugin interface to write plugins
in C.

If you're having trouble using giflib with Imager, you probably
want the giflib patch which fixes a couple
of bugs in giflib.

transform2() extensions.

Some examples of how various Imager
filters look. I may create a more dynamic wrapper at some point.

Right now I'm working on gradient or fountain fill support similar
to that provided by tools like the GIMP or Photoshop. I have a basic
version going, but I want to add support for most of the GIMPs
features, so the caller can load an existing GIMP gradient file.

I'm currently extending the current transform2() function to
support more general functions by adding jump operators in the
low-level register machine, and adding support to the existing
compilers to support loops and conditional statements.

I'm also planning on changing Imager::Expr::Infix to use a
pre-compiled grammar, rather than compiling a grammar with
Parse::RecDescent the first time it is used. It may be possible to
use Parse::Yapp
to do this.

To do:

add jump operators to regmach.[ch]. Because we need actual
variables now, I also added a set operator. (done)

created a simple assembler to be able to directly produce register
code instructions. (done)