Outils pour utilisateurs

Outils du site


imagemagick

Ceci est une ancienne révision du document !


ImageMagick est une bliothèque puissante permettant de manipuler des images (vectorielles ou matricielles).

Elle est accompagnée par une suite d'utilitaires s'utilisant en ligne de commande.

Nous allons voir quelques exemples, je vous encourage à consulter la documentation pour de plus ample détails.

Connaître les dimensions d'une image

Il faut utiliser l'utilitaire identity 1).

identify Kocherbaumwald.jpg | awk '{print $3;}'

ou

identify -verbose Kocherbaumwald.jpg | grep Geometry | awk -F': ' '{print $2;}'

Celui que je préfère

identify -format "%G\n" Kocherbaumwald.jpg

La liste des expressions que l'on peut utiliser avec l'option -format est disponible ici (section Single Letter Attribute Percent Escapes).

Supprimer les métadonnées

Si l'on souhaite supprimer toutes les métadonnées (notamment les données EXIF) d'une image en provenant d'un appareil numérique (téléphone, appareil photo numérique, etc.).

mogrify -strip Kocherbaumwald.jpg

Redimensionner une image

Le redimensionnement en pourcentage est particulier :

  • si l'on souhaite drastiquement réduire la taille d'une image (au niveau de ces dimensions, hauteur x largeur) il faut préciser un pourcentage < 50%
  • si l'on souhaite une « plus petite » image, il faut prendre un pourcentage >= 50%

On peut bien entendu préciser la taille en pixel.

convert Kocherbaumwald.jpg -resize 50% kocherbaumwald.png

Si l'on souhaite uniquement changer la « hauteur » (height), la largeur sera automatiquement ajustée :

convert Kocherbaumwald.jpg -resize x125 kocherbaumwald.png

Ajouter un fond

logo Linux-Ventoux

Généralement sous Gimp on voit l'image du dessus comme ceci :

logo Linux-Ventoux avec le damier

Lorsqu'une image PNG possède un canal alpha (elle est transparente), il est possible de lui rajouter un fond.

convert linux-ventoux.png -background white -flatten linux-ventoux_background.png

logo Linux-Ventoux avec un fond blanc

Jouer avec les niveaux de gris

Si on utilise une image PNG, il faut au préalable avoir un fond, sinon certaine partie de l'image sera mal convertie.

convert linux-ventoux_background.png -type Grayscale linux-ventoux_bw.png

ou

convert linux-ventoux_background.png -colorspace Gray linux-ventoux_bw.png

logo Linux-Ventoux en noir et blanc

Modifier l'intensité

On peut vouloir appliquer un filtre à une image. Par exemple pour modifier l'intensité d'une image.

convert kocherbaumwald.jpg -brightness-contrast 45x0 kocherbaumwald_brightness-45.jpg

On peut également jouer sur une couleur.

convert kocherbaumwald.jpg -fill DarkOliveGreen3 -colorize 15% kocherbaumwald_darkolivegreen.jpg

Si on combine les deux commandes précèdentes :

convert kocherbaumwald.jpg -fill DarkOliveGreen3 -colorize 15% \
-brightness-contrast 25x0 kocherbaumwald_darkolivegreen_25.jpg

Bordure autour d'une image

Il faut utiliser les options -bordercolor et -border (elle définie les dimensions de la bordure).

convert Kocherbaumwald.jpg -bordercolor white -border 5x5 \
-bordercolor gray -border 1 kocherbaumwald_border.png

Ajouter une ombre autour d'une image

convert kocherbaumwald_border.png -page +5+5 -alpha set \
\( +clone -background gray35 -shadow 60x3+5+5 \) +swap \
-background none -mosaic kocherbaumwald_shadow.png

Pour éviter l'effet d'ombre le nombre '3' dans notre exemple doit être égal à '0'. Par ailleurs, si cette valeur est supérieure aux données de l'option -page, l'ombre apparaît tout autours de l'image.

On peut utiliser d'autres options

convert kocherbaumwald_border.png \
\( +clone -background gray35 -shadow 60x3+5+5 \) +swap \
-background none -layers merge +repage kocherbaumwald_shadow02.png

Convertir un PDF en image (PNG)

convert demo.pdf -qality 85% demo.png

On va obtenir une image transparente, il faut donc rajouter un fond (par exemple blanc) :

convert demo.pdf -quality 85% -background white -flatten demo.png

<note important>Si l'on obtient ce message d'erreur :

convert: profile 'icc': 'RGB ': RGB color space not permitted on grayscale PNG

On peut rajouter cette option, +profile “icc” à la précédente.</note>

Si le PDF possède plusieurs pages, mais que l'on souhaite uniquement avoir une page il faut le préciser. Par exemple la première page du document :

convert demo.pdf[0] -quality 58% -background white -flatten +profile "icc" demo.png
1)
Il fait parti du « paquet » ImageMagick.
imagemagick.1714920220.txt.gz · Dernière modification : 2024/05/05 16:43 de olivier

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : Public Domain