Cookie

TheJoe.it Into the (open) source

5giu/122

Ridimensionare più immagini in un colpo solo

Attenzione!

Questo articolo è stato scritto nel 2012, potrebbero esserci stati sviluppi circa l'argomento trattato.
In caso di dubbi lasciate un commento in fondo all'articolo.
Grazie.

gimp_imagick

Ridimensionare le immagini, da quando i programmi di fotoritocco sono entrati a far parte della routine dell'utente medio, è un compito tanto semplice quanto banale. Si usa rimpicciolire le immagini soprattutto per risparmiare banda sul trasferimento del file: un'immagine più piccola si caricherà più in fretta e inoltre per usare le immagini sul web non è necessaria l'alta risoluzione. Il problema si pone quando abbiamo una quantità considerevole di immagini da ridimensionare, aprirle una per una può diventare piuttosto lungo e noioso.

Una delle soluzioni è "David's Batch Processor", un plugin per Gimp che permette di eseguire alcuni filtri su più immagini, tra cui anche il "Resize" per ridimensionare.

"David's Batch Processor" può essere divertente da scoprire, e può senza dubbio velocizzare il lavoro che altrimenti faremmo a mano, ma rispetto ad altri programmi è lento. Che io conosca il modo più veloce per ridimensionare più immagini in un colpo solo è la riga di comando. ImageMagick è un piccolo ma potente tool a riga di comando (utilizzabile anche tramite web come libreria aggiunta a PHP). ImageMagick è un programma che comprende diversi comandi, oggi ne vediamo un paio.

Convert

Il comando "convert" converte l'immagine di partenza e ne crea una copia. Alla fine dell'elaborazione avremo l'immagine iniziale e l'immagine convertita. Con "convert" non è possibile sovrascrivere un'immagine.

Vediamo ora come sia possibile cambiare le dimensioni di un'immagine:

convert -geometry 1024x 1.jpg 1_mod.jpg

Questo comando ridimensiona il lato lungo dell'immagine "1.jpg" a 1024px, mantenendo inalterate le proporzioni.

for i in *.jpg; do convert -geometry 1024x $i thumb-$i; done

Quest'altro comando esegue lo stesso lavoro, ma converte tutte le immagini con estensione ".jpg" a 1024px di lato.

for i in *.jpg; do convert -scale 50% $i thumb-$i; done

Quest'altro comando utilizza l'argomento "scale" al posto di "geometry". L'argomento "scale" si usa insieme alla percentuale di riduzione / ingrandimento dell'immagine. In questo caso l'immagine sarà dimezzata.

convert originale.jpg originale.png

Va precisato che "convert" può essere usato anche per cambiare estensione al file (creerà sempre una copia senza sovrascrivere).

Mogrify

Il comando "mogrify" è praticamente identico al comando "convert", la differenza è che non creerà una copia dell'originale, bensì sovrascriverà l'immagine di partenza. Occhio quindi a non sovrascrivere se non è proprio quello che volete fare.

In qualche minuto abbiamo terminato di ridimensionare le nostre immagini, e non abbiamo dovuto eseguire il lavoro manualmente. Una vera pacchia.

About

Mantengo questo blog a livello amatoriale dal 2009. Sono appassionato di grafica, tecnologia, software Open Source. Fra i miei articoli non sarà difficile trovarne circa la musica, ed alcuni di riflessioni personali, ma preferisco indirizzare la linea del blog principalmente verso la tecnologia. Per informazioni contattami.

Commenti (2) Trackback (0)
  1. Ciao desidero sapere come posso utilizzare il comando mogrify per ridimensionare un file 800×400 a 800×800 mantenendo l’aspect ratio.

    Grazie

    • Non credo di aver capito. La tua immagine di partenza è 800×400. Potrai scalarne le dimensioni (entrambe), perché se ne modifichi solo una l’aspect ratio non verrà rispettato.
      Forse hai intenzione di “tagliare” parte dell’immagine, in questo caso potrai tagliarla a 400×400 e poi sovradimensionarla a 800×800. Ovviamente avrai una qualità scadente al termine dell’operazione.


Leave a comment

Ancora nessun trackback.