summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2012-08-04 21:55:53 +0200
committerJonas Smedegaard <dr@jones.dk>2021-03-24 23:17:59 +0100
commit40bc840da8ce60cb49e6545211d96ecb150451ce (patch)
tree91e0d1f0564d49908a14e3dd2ee85b762b1d2b7d
parent2513fe25430ac5ee88e25a1aa2effa72515d9272 (diff)
use Graphics::Magick if available, instead of Image::Magick
-rw-r--r--IkiWiki/Plugin/img.pm14
1 files changed, 10 insertions, 4 deletions
diff --git a/IkiWiki/Plugin/img.pm b/IkiWiki/Plugin/img.pm
index b858243..4f07fb4 100644
--- a/IkiWiki/Plugin/img.pm
+++ b/IkiWiki/Plugin/img.pm
@@ -104,6 +104,14 @@ sub preprocess (@) {
open(my $in, '<', $srcfile) or error sprintf(gettext("failed to read %s: %s"), $file, $!);
binmode($in);
+ my $usegm = 1;
+ eval q{use Graphics::Magick};
+ if ($@) {
+ $usegm = 0;
+ eval q{use Image::Magick};
+ error gettext("Image::Magick is not installed") if $@;
+ }
+
if ($extension =~ m/^(jpeg|jpg)$/is) {
$format = 'jpeg';
$magic = "\377\330\377";
@@ -175,9 +183,7 @@ sub preprocess (@) {
$dheight = $h if length $h;
}
else {
- eval q{use Image::Magick};
- error gettext("Image::Magick is not installed") if $@;
- my $im = Image::Magick->new();
+ my $im = $usegm ? Graphics::Magick->new() : Image::Magick->new();
my $r = $im->Read("$format:$srcfile\[$pagenumber]");
error sprintf(gettext("failed to read %s: %s"), $file, $r) if $r;
@@ -225,7 +231,7 @@ sub preprocess (@) {
will_render($params{page}, $imglink);
if (-e $outfile && (-M $srcfile >= -M $outfile)) {
- $im = Image::Magick->new;
+ $im = $usegm ? Graphics::Magick->new : Image::Magick->new;
$r = $im->Read($outfile);
error sprintf(gettext("failed to read %s: %s"), $outfile, $r) if $r;
}