summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/img.pm
diff options
context:
space:
mode:
Diffstat (limited to 'IkiWiki/Plugin/img.pm')
-rw-r--r--IkiWiki/Plugin/img.pm16
1 files changed, 12 insertions, 4 deletions
diff --git a/IkiWiki/Plugin/img.pm b/IkiWiki/Plugin/img.pm
index 17a58ca..9f9c72c 100644
--- a/IkiWiki/Plugin/img.pm
+++ b/IkiWiki/Plugin/img.pm
@@ -65,15 +65,23 @@ sub preprocess (@) {
my $dir = $params{page};
my $base = IkiWiki::basename($file);
my $issvg = $base=~s/\.svg$/.png/i;
+ my $usegm = 1;
+
my $ispdf = $base=~s/\.pdf$/.png/i;
my $pagenumber = exists($params{pagenumber}) ? int($params{pagenumber}) : 0;
if ($pagenumber != 0) {
$base = "p$pagenumber-$base";
}
- eval q{use Image::Magick};
- error gettext("Image::Magick is not installed") if $@;
- my $im = Image::Magick->new();
+ eval q{use Graphics::Magick};
+ if ($@) {
+ $usegm = 0;
+ eval q{use Image::Magick};
+ error gettext("Image::Magick is not installed") if $@;
+ }
+ my $im = $usegm
+ ? Graphics::Magick->new($issvg ? (magick => "png") : ())
+ : Image::Magick->new($issvg ? (magick => "png") : ());
my $imglink;
my $imgdatalink;
my $r = $im->Read("$srcfile\[$pagenumber]");
@@ -120,7 +128,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;
}