web-dev-qa-db-fra.com

Un script pour obtenir une compression d'image optimale à partir des outils de ligne de commande

Je souhaite traiter les images par lots pour les télécharger sur des sites Web. Je recherche un script qui fournira une compression optimale avec une taille 1024x768 en utilisant des outils de ligne de commande comme la magie de l'image, etc.

EDIT: 1 Voici celui que j'ai fait sur MS Windows. à l'origine c'était 3008x2000. J'ai utilisé le gestionnaire d'images MS Office pour réduire la résolution à 1024x768 et la taille du fichier était d'environ 600 Ko. Ensuite, je l'ai parcouru monstre marin et le résultat final était une résolution de 1024x768 et la taille du fichier était de 84 Ko. Voici l'image:

alt text

L'utilisation du même processus avec la magie de l'image et smoosh.it donne une image d'une taille de 314 Ko.

2
nixnotwin

Le moyen le plus rapide de décoller est de viser quelque chose sans perte. Le redimensionnement ne peut évidemment pas empêcher de perdre des données, mais si vous utilisez quelque chose comme imagemagik pour redimensionner, laissez la qualité finale assez élevée (au moins 90%).

Pour compresser, vous avez plusieurs options, mais celle avec laquelle j'ai eu le plus de chance est Yahoo's Smush.it . Il s'agit d'un service Web en ligne, ce qui signifie que vous devez télécharger vos images. Cependant, il y a un bel outil Python appelé Smooshy qui fait tout cela pour vous.

Il s'agit d'une opération sans perte qui continue de recompresser les images jusqu'à ce qu'elles commencent à montrer de l'usure. Dans certains cas, la taille du fichier peut faire une énorme différence.

Le bonus par rapport à jpegoptim est que vous n'avez pas à vous soucier de la qualité (c'est toujours aussi bon que l'original) et il prend en charge tous les formats. Cela prend juste un peu plus de temps et vous êtes lié par les termes et conditions de Yahoo (ils possèdent probablement votre âme si vous l'utilisez, etc.).

2
Oli

Utiliser ImageMagick est assez facile

mogrify -path destination/path -resize x768 -quality 90 source/path/*.jpg

J'ai seulement défini la hauteur dans le resize afin de garantir que le rapport H/W de l'image n'est pas modifié, ajustez quality à volonté.

1
perdigueiro