risposta di Eric L. è corretta - uno da me per questo! - ma -annotate
non ti dà molto controllo sull'aspetto del testo.
Se si cerca la bellezza, quindi piuttosto andare per qualcosa che utilizza -composite
. È possibile utilizzare un comando IM per costruire prima un'immagine di sovrapposizione (che utilizza uno sfondo semitrasparente) e quindi sovrapporla sull'immagine originale.
Ecco un esempio di come farlo con -composite
anziché -annotate
, utilizzando un approccio basato su script che elabora tutti i file PNG nella directory corrente. Questo si adatta anche automaticamente la dimensione del carattere e si inserisce nel campo "width * 90%" a disposizione - si tratta di uno script Bash (vedi commenti per Win equivalente):
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'illustrazione esempio per un originale e la rispettiva uscita sono di seguito:
!
Ecco un comando che utilizza -annotate
, cercando di impostare un paio di cose al di là dei parametri di default:
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
fonte
2012-10-05 21:08:42
È per la riga di comando bash? – Serguzest
Questo è per Bash, sì. Su Windows/DOS, la sintassi sarebbe qualcosa come 'per% i in (* .png) do convert .... '. Nessun finale '* done *' qui, e nessun punto e virgola dopo la parte 'for'. –
Grazie, in realtà ho risolto la linea di comando bash che esiste nelle mie finestre a causa di Git. – Serguzest