Reviews by Jim Bumgardner


PerlMagick (6.74) ****

I've been using PerlMagick for years for most of my image processing need. My Flickr Magick set on Flickr contains a lot of examples of the kind of wizardry you can accomplish with this library.

While GD is fine for basic stuff, I found it wasn't nearly comprehensive enough. My photomosaic software, used to develop the Flickr mosaics in the above set, and included in my O'Reilly book Flickr Hacks was developed using PerlMagick.

In addition, I've used it to generate images for my puzzle website,

Things I love about PerlMagick/ImageMagick:

1) Lots of different resampling algorithms. Most other image processing libraries have just one resampling algorithm. Not every resampling algorithm is appropriate for every job.

2) Insanely featureful 'Annotate' method

3) Pixel level manipulation of images.

4) For a lot of tasks (such as batch image resizing), you can bypass PerlMagick and just shell out to the command line tools provided with ImageMagick (convert, montage and so on). This is the equivalent of using the command line curl instead of the curl library.

5) It wasn't designed for making simple business graphics. It was designed to do image processing (to some this may be a negative, but if you're looking for general-purpose image processing, this is the tool, not GD).

Now here's the down side: ImageMagick and PerlMagick are a *bitch* to install, especially on OSX, these days. The problem is that ImageMagick has a huge number of dependencies, and the software is mature enough that it tends to lose its maintainers, so that the old installs that are floating around (on Fink, Macports, Homebrew, or whatever) tend to become stale and broken. Pretty much every time I get a new Mac, I go through hell trying to get a working PerlMagick system. Supposedly, GraphicsMagick was supposed to solve these kinds of instability problems, but it too is quite long-in-the-tooth, and I've never had much long installing it either.

PDF-Reuse (0.35) ****

This module is misnamed, in my opinion, because it is just as good at PDF creation, as it is for PDF reuse. I've used this for years to generate the Sudoku, Killer Sudoku, Slitherlink, etc. files on my puzzle website,, as well as for preparing puzzles and mazes for publication, and it's a great workhorse.

I've since tried a few other PDF creation methods (including a few modules in Ruby, Processing, and C++/Cairo), and I still prefer using this module with Perl.