Petit retour d’expérience sur une demande que j’ai eu récemment. Une connaissance m’avait demandé de diminuer la taille d’une de ces photos.
Personnellement, je ne voulais pas perdre de temps à utiliser Gimp pour faire ce genre de chose. Utilisant Linux, j’ai trouvé la solution avec imagemagick.
il suffit de taper la commande suivante :
convert image.jpg -resize 50% image50.jpg
Cette ligne de commande permet de réduire l’image image.jpg de 50%.
L’image image50.jpg sera l’image réduite.
Pour aller plus loin. Imaginons que vous ayez tout un dossier de photo jpg à réduire, je vous propose le script suivant :
for i in *.jpg; do
j="${i%.jpg}"
if [ -z "$1" ]; then
convert "$j.jpg" -resize 50% "$j.jpg";
elif [ -n "$1" ]; then
convert "$j.jpg" -resize "$1"% "$j.jpg";
fi
done
J’ai personnellement mis ce script dans un fichier, que j’ai nommé pictures.sh.
pictures.sh
pictures.sh 25
pictures.sh 60
Dans votre terminal, si vous lancez le script sans argument, il réduira les images à 50%.
Si vous ajoutez un argument, comme 25 ou 60 dans l’exemple ci-dessus, les images seront réduire de 25% ou 60%.
Améliorations
Il y a plein de piste d’amélioration à ce script Bash.
La première amélioration étant la gestion de l’argument, et le fait de n’accepter que des chiffres de 1 à 99.
La deuxième amélioration étant la gestion des autres formats d’images : PNG, JPEG, etc…
Inspirations
Site michtoblog : [terminal] Réduire la taille d’une image en ligne de commande
Documentation imagemagick : https://doc.ubuntu-fr.org/imagemagick
Site commentcamarche : Bash – Les arguments (paramètres)