ImageMagick est une merveilleuse collection d’outils de manipulation d’images qui existe depuis fort longtemps.
On peut l’utiliser en ligne de commande, comme bibliothèques à partir de nombreux langages, ou encore à partir de l’interface graphique display.
Avoir plein d’informations sur une image
$ identify -verbose image.png
Pour utiliser plus facilement à partir d’un programme,
on peut utiliser l’option -format
pour sélectionner juste l’info qui nous intéresse :
$ identify -format "%wx%h" image.png
Écrire sur une image
convert -font helvetica -fill white -pointsize 36 \
-draw 'text 10,50 "Ma belle image à moi !"' \
image.png image_bis.png
On peut aussi utiliser
plein d’autres possibilités
comme l’option -annotate
par exemple.
Rendre le fond d’une image transparente
$ convert -transparent white toto.jpg toto.png
Puis, si le résultat n’est pas assez propre, utiliser gimp en faisant une
sélection par couleur et couper la sélection (^X
).
Pour ne pas avoir une image trop grosse, choisir image/mode/indexée
.
Pour en savoir plus sur ce sujet, voir : Background Removal.
Générer une image unie
convert -size 500x500 xc:skyblue image.png
L’option xc
permet de spécifier une couleur
telles que décrites dans la doc.
Voir là pour en savoir plus sur la génération d’images (taille, dégradés, etc.)
Dessiner sur une image
Si on veut par exemple dessiner un rectangle par dessus une image:
convert -size 200x100 xc:skyblue \
-fill none -stroke red -strokewidth 2 -draw "rectangle 20,10 100,60" \
image.png
Découper un bout d’image
convert -crop 50x100+10+20 +repage image.png image_res.png
Les coordonnées correspondent à la taille du rectangle à couper, suivie de la position du coin supérieur gauche.
L’option +repage
permet d’obtenir une image de la taille de la zone coupée,
et non de la taille de l’image initiale.
Pour en savoir plus, voir : Cutting and Bordering.
Documentation
Voir aussi :
- Afficher un pourcentage dans une page HTML
- VNC : Virtual Network Computing
- Git : déménagement d'un dépôt
- Quelques liens au sujet de l'analyse statique
- Ocaml: mon principal langage de développement
- Disque dur externe
- Les profiles dans Firefox
- Cryptographie et mail sous Android
- Quelques liens au sujet du C
- Git rebase : pour diviser un commit