Ridimensionamento immagini con il terminale

Ciao a tutti,
per ridimensionare la larghezza delle immagini a 510 px di larghezza con
il terminale uso il comando
mogrify -resize x510 nome_immagine.png

Avendo una cartella con molte immagini di dimensioni differenti di cui
alcune superiori a 510 px, come potrei ridimensionare tutte le immagini
superiori a 510 in un colpo solo e non toccare quelle uguali o inferiori
a tale valore?

Ciao e grazie

andrea

Ciao Andrea,

Sono da mobile quindi non posso dare indicazioni troppo precise purtroppo.

Forse per i PNG puoi usare il comando file ( $ file <immagine.png> ) per ottenere le dimensioni a riga di comando. Se questo non dovesse funzionare puoi usare il comando identify (fa parte della suite imagemagik). Sicuramente file non mostra le dimensioni dei jpg, quindi se vuoi fare una soluzione generica conviene usare identify.

Poi dovresti vedere dove ti viene restituita la larghezza e prendere solo quel valore (es con cut) e poi lavorarci sopra.

Ciao,
Daniele

attachment.htm (1.36 KB)

Avendo una cartella con molte immagini di dimensioni differenti di cui
alcune superiori a 510 px, come potrei ridimensionare tutte le immagini
superiori a 510 in un colpo solo e non toccare quelle uguali o inferiori
a tale valore?

Quello che ha detto Daniele: identify da imagemagick.

Con il comando

   identify -format '%w' img.jpg

ottiene la largezza (w per width) dell'imagine img.jpg.
Poi si tratta solo di fare

for IMG in *.jpg; do
   W=$(identify -format '%w' $IMG)
   if [ "$W" -gt 510 ]; then
  echo mogrify qui
   fi
done

Bye,
Chris.

Grazie Daniele e Chris,
ora lo adatto a modino.

Ciao e grazie
andrea