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, )); }