En utilisant Smush.it ou l'optimiseur d'image intégré de Firebug, je réalise que nous pouvons réduire la taille des fichiers de tous nos jpg web. De manière significative en fait. Comme nous avons des centaines de milliers d'images, y a-t-il un moyen d'optimiser en lot (et de remplacer) ces images en utilisant un outil que vous connaissez (à l'exception de ceux mentionnés car ils fonctionnent uniquement un par un) ? Je ne veux vraiment pas le faire manuellement un par un. :(
Réponses
Trop de publicités?Je recommanderais les utilitaires ImageMagick à partir de http://www.imagemagick.org/script/index.php
Vous pouvez utiliser l'utilitaire convert
d'ImageMagick avec un simple scripting en ligne de commande. Vous pouvez utiliser un système Unix ou Cygwin sur Windows
La commande de conversion exacte serait convert -quality 50 in.jpg out.jpg
. Ajustez le paramètre de qualité selon la valeur désirée. (Remarque : il s'agit d'une opération avec perte)
L'utilitaire convert peut également convertir vers d'autres formats, comme le PNG, qui est sans perte.
Si vous avez Unix ou bash sur Cygwin, l'opération complète serait :
for file in *.jpg; do
filebase=`basename $file`
convert $file -quality 50 ${filebase}.new.jpg
done
Une autre alternative est d'utiliser Gimp en mode batch :
L'outil que vous voulez s'appelle jpegtran. Il est disponible dans la plupart des distributions Linux et une version binaire pour Windows est également disponible. La commande que vous souhaitez utiliser est :
jpegtran -copy none -progressive -outfile out_filename.jpg in_filename.jpg
Vous devriez pouvoir facilement écrire un script avec un fichier batch ou un script shell pour exécuter cette commande sur tous vos fichiers image. Veuillez noter que cela peut supprimer les mentions de droits d'auteur, etc. Si cela pose problème, changez -copy none
en-copy comments
.