Retouche d'image
Les personnes possédant un apareil photo numérique pensent peut-être que les redimentionner afin de les publier en ligne est assez rébarbatif.
J'ai créé un script permettant d'automatiser cette tâche.
Il permet de dimentionner des images et éventuellement de changer leur format.
Il n'est plus nécessaire de passer par un programme tier et de cliquer sur Enregistrer sous.
Cette option permet de redimentionner une image sans prendre en compte son format de départ. Il est possible que les images soient déformées.
Cette option permet de redimentionner une image en tenant compte de sa forme.
Une des longueur données est gardée telle quelle et l'autre est ajustée pour réduire les déformations au maximum.
Voici mon script.
#!/bin/bash
touch converture.tmp
touch converture2.tmp
echo "Extention d'entrée"
read ext
echo "Extention de sortie"
read ext2
echo "taille sortie"
read taille
echo "Qualité"
read qual
echo "convert -resize 640x480 +profile "*" monfichier.jpeg monpetitfichier.png ==> 1"
echo "ou"
echo "convert -geometry 640x480 +profile "*" image.jpg image_web.jpg ==> 2"
read "style"
#convert -resize 640x480 +profile "*" /un/chemin/monfichier.jpeg /un/chemin/petits/monpetitfichier.png
#convert -geometry 640x480 +profile "*" image.jpg image_web.jpg
ls |grep .$ext > converture.tmp
for i in `cat converture.tmp`; do
name=$i
echo ${name%.*} > converture2.tmp
mv $i ${name%.*}
for u in `cat converture2.tmp`; do
if [ "$style" = "1" ]; then
convert -resize $taille -quality $qual +profile "*" $u $u.$ext2
fi
if [ "$style" = "2" ]; then
convert -geometry 640x480 -quality $qual +profile "*" $u $u.$ext2
fi
done
done
mkdir converture-rep
mv *.$ext2 converture-rep
for u in *; do
if [ "$u" != "$converture-rep" ]; then
rm $u
fi
done
cd converture-rep
mv * ../
cd ../
rm -r converture-rep
echo " "
echo "#################################"
echo "Terminé "
echo "#################################"
ls
exit 0
Il serait plus simple et direct d'utiliser une synthaxe de ce genre (appliquée à la commande mv ici):
mv mon_fichier.txt mon_fichier.que_je_veux_sauvegarderil suffit de faire
mv mon_fichier.{txt,que_je_veux_sauvegarder}
Il aurait aussi été possible d'utiliser la commande sed dans le cadre d'un script qui ne permet que de renommer:
for i in *.JPG do mv $i `echo $i | sed s/.JPG/.jpg/` done change toutes les extention JPG en jpg.Ces exemples ont étés trouvés ici.
Arnaud Joset