Étant donné qu'une image téléchargée par l'utilisateur, j'ai besoin de créer plusieurs miniatures pour l'affichage sur un site Web. J'utilise ImageMagick et essaye de rendre Google PageSpeed heureux. Malheureusement, quelle que soit la valeur quality
que je spécifie dans la commande convert
, PageSpeed est toujours capable de suggérer de compresser l'image encore plus loin.Compression de Google PageSpeed et ImageMagick JPG
Notez que http://www.imagemagick.org/script/command-line-options.php?ImageMagick=2khj9jcl1gd12mmiu4lbo9p365#quality mentions:
Pour les JPEG ... formats d'image, la qualité est 1 [offre la] plus bas qualité d'image et compression la plus élevée ....
J'ai même testé la compression de l'image en utilisant 1 (elle a produit une image inutilisable, cependant) et PageSpeed suggère toujours que je peux encore optimiser une telle image en "compressant sans perte" l'image. Je ne sais plus comment compresser une image avec ImageMagick. Des suggestions?
est ici un moyen rapide de tester ce que je parle:
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/>');
}
Je pense qu'il veut que vous essayiez un format sans perte comme PNG. Parfois, cela peut vous donner une meilleure compression, en particulier pour les petites images; mais cela dépend vraiment du type d'image que les utilisateurs téléchargent. –
PageSpeed fait référence à JPG (car il fournit réellement un fichier JPG qui peut être sauvegardé). Les utilisateurs téléchargent des photos. – StackOverflowNewbie
Hmm étrange, le JPEG est-il plus petit que celui créé automatiquement? –