]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/img.pm
Added a comment: Solution
[git.ikiwiki.info.git] / IkiWiki / Plugin / img.pm
index 740c44f96045e19e5ed4f79dcca8db4369feeae6..b85824345ed6e1634cf6f43b08ac3887a56117d4 100644 (file)
@@ -125,7 +125,14 @@ sub preprocess (@) {
        }
        else {
                # allow ImageMagick to auto-detect (potentially dangerous)
-               $format = '';
+               my $im = Image::Magick->new();
+               my $r = $im->Ping(file => $in);
+               if ($r) {
+                       $format = lc $r;
+               }
+               else {
+                       error sprintf(gettext("failed to determine format of %s"), $file);
+               }
        }
 
        error sprintf(gettext("%s image processing disabled in img_allowed_formats configuration"), $format ? $format : "\"$extension\"") unless allowed($format ? $format : "everything");
@@ -174,6 +181,12 @@ sub preprocess (@) {
                my $r = $im->Read("$format:$srcfile\[$pagenumber]");
                error sprintf(gettext("failed to read %s: %s"), $file, $r) if $r;
 
+               if ($config{deterministic}) {
+                       $im->Set('date:create' => 0);
+                       $im->Set('date:modify' => 0);
+                       $im->Set('option'      => 'png:exclude-chunk=time');
+               }
+
                if (! defined $im->Get("width") || ! defined $im->Get("height")) {
                        error sprintf(gettext("failed to get dimensions of %s"), $file);
                }