web-dev-qa-db-fra.com

Outils de compression d'image via la ligne de commande

Je recherche le meilleur outil pour compresser des images (png et jpeg) via la ligne de commande.
Après la recherche sur Google, j'ai trouvé trimage qui est bon car il comprime à la fois png et jepeg, mais le taux de compression est très faible dans ce cas.

Je suis tombé sur jpeg-optimizer.com outil en ligne qui fait le travail mieux que le trimage. Quelqu'un peut-il aider à trouver le bon outil pour cela.

54
Mukesh Yadav

J'utilise les outils suivants pour effectuer une compression d'image sans perte :

Pour chacun des programmes, j'ai créé deux raccourcis:

  1. Celui qui effectue la compression réelle et affiche la taille des deux fichiers
  2. Celui qui remplace le fichier d'origine par le fichier compressé (si je suis satisfait, je vais faire une flèche vers le haut, préfixer ma commande précédente avec un "m" et appuyer sur Entrée).

J'ai mis ça dans mon .bashrc:

# Image optimization tools
png() {
    pngcrush -brute "$1"{,.} && du -b "$1"{,.}
}
gif() {
    gifsicle -O "$1" -o "$1." && du -b "$1"{,.}
}
jpeg() {
    jpegtran "$1" > "$1." && du -b "$1"{,.}
}
# Just for easy access in history
mpng() {
    mv "$1"{.,}
}
mgif() {
    newsize=$(wc -c <"$1.")
    oldsize=$(wc -c <"$1")
    if [ $oldsize -gt $newsize ] ; then
        mv "$1"{.,}
    else
        rm "$1."
    fi  
}
mjpeg() {
    mv "$1"{.,}
}

Remarque: pngcrush -brute est très verbeux. Redirigez la sortie vers /dev/null si vous n'êtes pas intéressé par les progrès.

41
Rob W
32
Kornel

Si vous êtes sous Linux, essayez l'outil mogrify de la suite imagemagick

C'est assez pratique en ligne de commande.

Ex:

mogrify -resize 50% rose.jpg

mogrify -format jpg *.png
12
Udantha