diff mgtool.php @ 250:3af3b3f50cb0

Add settings for med_format and tn_format (currently allowed values are "jpeg" and "webp") to specify the med/tn image formats. The default is JPEG.
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 08 Dec 2018 15:51:02 +0200
parents abcd21b01829
children 19dab8b0c340
line wrap: on
line diff
--- a/mgtool.php	Mon Oct 29 20:32:59 2018 +0200
+++ b/mgtool.php	Sat Dec 08 15:51:02 2018 +0200
@@ -109,10 +109,23 @@
     }
   }
 
+  $img->setImageDepth(8);
+  switch (strtolower($outFormat))
+  {
+    case "jpeg":
+      $img->setFormat("JPEG");
+      $img->setImageCompression(Imagick::COMPRESSION_JPEG);
+      break;
 
-  $img->setImageDepth(8);
-  $img->setFormat($outFormat);
-  $img->setImageCompression(Imagick::COMPRESSION_JPEG);
+    case "webp":
+      $img->setFormat("webp");
+      $img->setOption('webp:method', '6');
+      break;
+
+     default:
+      return mgError("Unsupported MGallery med/tn format '".$tfmt."'.\n");
+  }
+
   $img->setImageCompressionQuality($outQuality);
 
   $img->stripImage();
@@ -608,7 +621,7 @@
             echo "1";
             mgConvertImage($efilename, $medFilename,
               [mgGetSetting("med_width"), mgGetSetting("med_height")],
-              "JPEG", mgGetSetting("med_quality"), TRUE);
+              mgGetSetting("med_format"), mgGetSetting("med_quality"), TRUE);
           }
 
           if ($updFlags & GUPD_TN_IMAGE)
@@ -616,7 +629,7 @@
             echo "2";
             mgConvertImage($efilename, $tnFilename,
               [mgGetSetting("tn_width"), mgGetSetting("tn_height")],
-              "JPEG", mgGetSetting("tn_quality"), TRUE);
+              mgGetSetting("tn_quality"), TRUE);
           }
         }