This is from a small test script I wrote yesterday. It creates a thumbnail while retaining image proportions.
#!/usr/bin/perl -w
use strict;
use Image::Magick;
sub make_thumb
{
my $file = shift;
my $thumb = shift;
my $size = 100; # image size; either width or height will be a 100
+ pixels (or both)
my $img = new Image::Magick;
$img->Read($file);
my ($width, $height) = $img->Get("width", "height");
if ($width > $height) {
my $ratio = $size / $width;
$height *= $ratio;
$width = $size;
} elsif ($height > $width) {
my $ratio = $size / $height;
$width *= $ratio;
$height = $size;
} else {
$width = $size;
$height = $size;
}
$img->Resize( width => $width, height => $height, blur => 1 );
$img->Write($thumb);
}
make_thumb("/path/to/img.png", "/path/to/thumbnail.png");