Mercurial > hg > mgallery
changeset 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 |
files | mgallery.inc.php mgtool.php |
diffstat | 2 files changed, 21 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/mgallery.inc.php Mon Oct 29 20:32:59 2018 +0200 +++ b/mgallery.inc.php Sat Dec 08 15:51:02 2018 +0200 @@ -61,7 +61,7 @@ "base_url" => [MG_STR, mgPathName($_SERVER["PHP_SELF"])], "image_url" => [MG_STR, mgPathName($_SERVER["PHP_SELF"])], "mgallery_php" => [MG_STR, "mgallery.php"], - "format_exts" => [MG_STR, "\.jpg|\.png|\.gif|\.jpeg"], + "format_exts" => [MG_STR, "\.jpg|\.png|\.gif|\.jpeg|\.webp"], "captions_file" => [MG_STR, "captions.txt"], "header_file" => [MG_STR, "header.txt"], "info_file" => [MG_STR, "gallery.info"], @@ -85,10 +85,12 @@ "tn_path" => [MG_STR, "tn/"], "med_path" => [MG_STR, "med/"], + "tn_format" => [MG_STR, "jpeg"], "tn_width" => [MG_INT, 140], // In pixels, applies as bounding box for w/h "tn_height" => [MG_INT, 100], "tn_quality" => [MG_INT, 85], // JPEG quality percent + "med_format" => [MG_STR, "jpeg"], "med_width" => [MG_INT, 960], "med_height" => [MG_INT, 640], "med_quality" => [MG_INT, 90],
--- 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); } }