I usually use Imager as my first choice. Why? It's install is self-contained. With GD and ImageMagick, you have to install the c-libs first, and especially with GD, people are always running into compatibility problems between their Perl-GD module and the version of their GD-c-libs. Also, Imager has good perldocs. If you want to see an example of Imager, check out