Google PageSpeed ​​& ImageMagick JPG сжатие

Учитывая загруженное пользователем изображение, мне нужно создать его различные эскизы для отображения на веб-сайте. Я использую ImageMagick и пытаюсь сделать Google PageSpeed ​​счастливым. К сожалению, независимо от того, какое значение quality я укажу в команде convert , PageSpeed ​​по-прежнему может предложить еще большее сжатие изображения.

Обратите внимание, что http: // www.imagemagick.org/script/command-line-options.php?ImageMagick=2khj9jcl1gd12mmiu4lbo9p365#quality упоминает:

Для форматов изображений JPEG ... качество 1 [обеспечивает самое низкое] качество изображения и максимальное сжатие ....

На самом деле я даже тестировал сжатие изображения с помощью 1 (хотя изображение оказалось непригодным для использования), и PageSpeed ​​по-прежнему предполагает, что я все еще могу оптимизировать такое изображение, "сжав без потерь" изображение. Я больше не знаю, как сжимать изображение с помощью ImageMagick. Есть предложения?

Вот быстрый способ проверить, о чем я говорю:

assert_options(ASSERT_BAIL, TRUE);

// TODO: specify valid image here
$input_filename = 'Dock.jpg';

assert(file_exists($input_filename));

$qualities = array('100', '75', '50', '25', '1');
$geometries = array('100x100', '250x250', '400x400');

foreach($qualities as $quality)
{
    echo("

$quality

"); foreach ($geometries as $geometry) { $output_filename = "$geometry-$quality.jpg"; $command = "convert -units PixelsPerInch -density 72x72 -quality $quality -resize $geometry $input_filename $output_filename"; $output = array(); $return = 0; exec($command, $output, $return); echo(''); assert(file_exists($output_filename)); assert($output === array()); assert($return === 0); } echo ('
'); }

14
задан StackOverflowNewbie 10 October 2010 в 10:20
поделиться