Changer la taille de fichiers images

Parfois on a besoin de retailler des images en vrac, sans forcémment disposer d’outils graphiques comme gimp, capables de traiter des lots.
Voici donc un petit script tout simple (je ne sais plus s’il est de moi où si je l’avais emprunté sur un forum, car il traîne sur mon disque dur depuis très longtemps !)

script changerTailleImages

 
#!/bin/bash
if [ $# -ne 1 ]
then
echo "Usage: '$0 taille' avec la taille sous la forme largeurxhauteur (640x480)."
exit -1
fi

rep=resized-$1

if [ -d "$rep" ]; then
echo "Repertoire $rep existe. Je ne le crée pas."
else
echo "Repertoire $rep n'existe pas. Je le crée."
mkdir $rep
fi

if [ 'ls *JPG' ]; then
for i in *.JPG
do
let "n += 1"
done

echo "$n fichiers *.JPG existent. Je les converti."

for i in *.JPG
do
if [ -e $rep/$i ]; then
echo "Le fichier $i existe deja dans le repertoire $rep."
else
taille=`identify  $i | awk '{print $3}'`
echo "Le fichier $i($taille) sera converti en $1 et enregistre dans le repertoire $rep."
convert -geometry $1 $i $rep/$i
fi
done
else
echo "Aucun fichiers *.JPG n'existent. Je ne fait rien."
fi

if [ 'ls *jpg' ]; then
for i in *.jpg
do
let "n += 1"
done

echo "$n fichiers *.jpg existent. Je les converti."

for i in *.jpg
do
if [ -e $rep/$i ]; then
echo "Le fichier $i existe deja dans le repertoire $rep."
else
taille=`identify  $i | awk '{print $3}'`
echo "Le fichier $i($taille) sera converti en $1 et enregistre dans le repertoire $rep."
convert -geometry $1 $i $rep/$i
fi
done
else
echo "Aucun fichiers *.jpg n'existent. Je ne fait rien."
fi

Pour l’utiliser il suffit de se placer dans le dossier idoine et de lancer le script avec comme paramètre la résolution ( exemple  800×600 ). Un dossier resized sera créé, contenant les images retaillées !

mat pell ‘zo !

Leave a comment