sabato 15 dicembre 2012

Etichettare foto o giù di lì

Salve!

Ho creato uno script in bash, semplice semplice, il cui compito è quello di scrivere una riga di testo in fondo a una foto. Non a una foto soltanto, ma a centinaia, migliaia in un colpo solo.


Lo script poteva essere migliorato di molto, ma, per quello che mi è servito, ha fatto più del suo lavoro.

Cosa fa lo script.
  • Prende in considerazione solo immagini in formato .jpg, che trasformerà in png.
  • Vi chiederà il colore con cui deve essere scritto il testo.
  • Vi chiederà di digitare il testo.
  • Se non esiste già, creerà una cartella di nome "FOTO" in cui andrà a riporre le immagini modificate (e anche tutte le altre immagini in formato png, qualora ce ne siano).
  • Le immagini originali non verranno intaccate.
  • Il nome del colore deve essere scritto in inglese. Per avere l'elenco dei colori in inglese, aprite un terminale e scrivete:
$ showrgb

Lo script va salvato nella stessa cartella contente le foto.
Va reso eseguibile:

$ chmod +x scrivi.sh

 Per eseguirlo

$ ./scrivi.sh
#!/bin/bash

clear
a="FOTO"
read -p "scegli il colore del testo: " color
read -p "Digita il testo che deve comparire nelle foto: " testo
for i in *.jpg; do
      convert -pointsize 20 -fill "$color" -gravity south-west\
      -annotate 0 "$testo" "$i" "$(basename "$i" .jpg)".png
done
test -d $a || mkdir -p $a && mv *.png $a
exit 0
 E' inutile dirvi che deve essere installato imagemagick.

Alla prossima!

Nessun commento:

Posta un commento