- my $im = new Image::Magick;
- my $err;
- print "doscaling $src -> $dest by $factor\n" if ($debug);
- $err = $im->Read($src);
- unless ($err) {
- $im->Scale(width=>$w*$factor,height=>$h*$factor);
- $err=$im->Write($dest);
- warn "ImageMagick: write \"$dest\": $err" if ($err);
- } else { # fallback to command-line tools
- warn "ImageMagick: read \"$src\": $err";
+
+ my $err=1;
+ if ($haveimagick) {
+ my $im = new Image::Magick;
+ print "doscaling $src -> $dest by $factor\n" if ($debug);
+ if ($err = $im->Read($src)) {
+ warn "ImageMagick: read \"$src\": $err";
+ } else {
+ $im->Scale(width=>$w*$factor,height=>$h*$factor);
+ $err=$im->Write($dest);
+ warn "ImageMagick: write \"$dest\": $err" if ($err);
+ }
+ undef $im;
+ }
+ if ($err) { # fallback to command-line tools