Учитывая загруженное пользователем изображение, мне нужно создать различные миниатюры для отображения на веб-сайте. Я использую ImageMagick и пытаюсь сделать Google PageSpeed счастливым. К сожалению, независимо от значения quality
, указанного в команде convert
, PageSpeed все еще может предложить сжать изображение еще дальше.Google PageSpeed & ImageMagick JPG компрессия
Обратите внимание, что 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("<h1>$quality</h1>");
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('<img src="' . $output_filename . '" />');
assert(file_exists($output_filename));
assert($output === array());
assert($return === 0);
}
echo ('<br/>');
}
Я думаю, что он хочет, чтобы вы попробовать формат без потерь, как PNG. Иногда это может дать вам лучшее сжатие, особенно для небольших изображений; но это действительно зависит от типа изображения, которое вы загружаете пользователям. –
PageSpeed имеет в виду JPG (поскольку он фактически предоставляет JPG, который можно сохранить). Пользователи загружают фотографии. – StackOverflowNewbie
Хм, странно, и JPEG ли он меньше, чем ваш автоматически созданный? –