From 8682a9bedc4ce28bb46e9e22a2598d694cf7b88b Mon Sep 17 00:00:00 2001 From: Linty Date: Fri, 19 Sep 2025 18:42:08 +0200 Subject: [PATCH] issue #2411 cap JPEG quality at 75 for 3XL/4XL derivatives --- i.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/i.php b/i.php index cd80e5652..1cf683aed 100644 --- a/i.php +++ b/i.php @@ -598,7 +598,14 @@ if ($d_size[0]*$d_size[1] < $conf['derivatives_strip_metadata_threshold']) $image->strip(); } -$image->set_compression_quality( ImageStdParams::$quality ); +$compression_quality = ImageStdParams::$quality; + +// for big sizing never go beyond 75 quality +if (in_array($page['derivative_type'], [IMG_4XLARGE, IMG_3XLARGE])) +{ + $compression_quality = min(ImageStdParams::$quality, 75); +} + $image->write( $page['derivative_path'] ); $image->destroy(); @chmod($page['derivative_path'], 0644); @@ -618,5 +625,6 @@ if ($logger->severity() >= Logger::DEBUG) 'd_size' => $d_size[0] . ' ' . $d_size[1] . ' ' . ($d_size[0]*$d_size[1]), 'mem_usage' => function_exists('memory_get_peak_usage') ? round( memory_get_peak_usage()/(1024*1024), 1) : '', 'timing' => $timing, + 'quality' => $compression_quality, )); }