ImageMagick

De Avided.info
Aller à : navigation, rechercher


Image magick est un ensembles d'outils permettant de manipuler plus de 100 formats d'images. Il existe des interfaces graphique utilisant les outils d'image magick. Mais c'est dans la ligne de commandes et l'implémentation de ces fonctions dans un grand nombre de langage de programmation sous forme d'API qui fais ça réputation.Il est ainsi qualifié de couteau suisse des images.

Je parlerais uniquement de ce qui met personnellement nécessaire donc sachet que je suis sur Linux, mais cet ensemble d'outils existe sur les autres Système d'exploitation.

Récupérer les informations d' images

La commande identify sans option permet de recuperer les informations les plus courrantes.

identify avec l'option -verbose permet de renvoyer toutes les information d'une image mise en parametre

identify -verbose image.png

Quant à la commande suivante, elle permet d'afficher la largeur en pixel de l'image.png

identify -format "%[fx:w]" image.png

Modifier des images

mogrify

Modifier sur une copie des images

convert

écrit de tête, il faut le vérifier

Normalement cette commande vous permet de redimensionner toutes les photos du répertoire courant et tous les sous répertoires avec une largeur de 1024 pixels tous en gardant le bon ratio.

find ./ -type f -iname "*.jpg" -exec mogrify -resize 1024 {} \;

si vous preferer metre la hauteur pour que la largeur soit chois automatiquement par le bon ration

modifier "-resize x728"

Problèmes : j'ai une arborescence de répertoire contenant des photos au format jpg. Ces photos sont volumineuse et j'aimerai avoir un copie de arborescence mais avec des photos plus légère.

SOURCE=/home/user/photo_hd
DESTINATION=/home/user/photo_FD

#Creer l'arbo de destination

cd $SOURCE
find ./ -type d | while read ligne ; do
   mkdir -p ${DESTINATION}/${ligne##./}
done

# copie et conversion des photos
find ./ -type f -iname "*.jpg" | while read fichier ; do
   echo "$fichier"
   convert -size 1024 $fichier ${DESTINATION}/${fichier##./}
done