Réponse de Eric L. est correcte - 1 de moi pour ça! - mais -annotate
ne vous donne pas beaucoup de contrôle sur l'apparence du texte.
Si vous cherchez des prettyness, alors optez plutôt pour quelque chose qui utilise -composite
. Vous pouvez utiliser une commande IM pour construire d'abord une image de superposition (qui utilise un arrière-plan semi-transparent), puis la superposer à l'image originale.
Voici un exemple de la façon de le faire avec -composite
au lieu de -annotate
, en utilisant une approche par script qui traite chaque fichier PNG dans le répertoire courant. Celui-ci même adapte automatiquement la taille de la police et se glisse dans la « largeur * 90% » disponible - il est un script Bash (voir les commentaires pour Win équivalent):
for img in *.png; do
width=$(identify -format %W ${img})
width=$((${width} * 9/10))
convert \
-background '#0008' \
-gravity center \
-fill white \
-size ${width}x100 \
caption:"${img}" \
"${img}" \
+swap \
-gravity south \
-composite \
"with-caption-${img}"
done
Un exemple illustration pour l'original et la sortie respective sont ci-dessous:
!
Voici une commande qui utilise -annotate
, en essayant de mettre quelques choses au-delà des paramètres par défaut:
for img in so#12231624-right.png; do
convert \
"${img}" \
-fill red \
-undercolor '#0008' \
-pointsize 24 \
-gravity south \
-annotate +0+5 "${img}" \
"with-annotate-${img}"
done

Est-ce pour la ligne de commande bash? – Serguzest
Ceci est pour Bash, oui. Sous Windows/DOS, la syntaxe serait quelque chose comme 'for% i in (* .png) convertit ....'. Pas de '* done *' final ici, et pas de point-virgule après la partie 'for'. –
Merci, je l'ai effectivement résolu bash commandline qui existe dans mes fenêtres à cause de Git. – Serguzest