Come ridimensionare al volo 140 foto

Avete 1000 foto da ridimensionare? Ecco come farlo da terminale con una sola riga facile facile.

Il castello di Brucoli, a due passi da Augusta (Siracusa).
Il castello di Brucoli, a due passi da Augusta (Siracusa).

Oggi devo spedire al mio servizio di stampa foto su Internet 140 fotografie, tutte ovviamente scattate alla massima risoluzione (6 megapixel). Evidentemente il formato è troppo grande per essere spedito velocemente e comunque è eccessivamente grande per le dimensioni di stampa (13×17 cm).
Dunque bisogna ridimensionarle. Esclusa la possibilità di farlo una ad una, c’è un metodo rapido ed automatico: usare il terminale! :D

Imagemagick

Imagemagick lo trovate nei repo ufficiali di Ubuntu e consiste in un set di tools vari per manipolare le immagini. Eccone alcune:

  • Format conversion: convert an image from one format to another (e.g. PNG to JPEG)
  • Transform: resize, rotate, crop, flip or trim an image
  • Transparency: render portions of an image invisible
  • Draw: add shapes or text to an image
  • Decorate: add a border or frame to an image
  • Special effects: blur, sharpen, threshold, or tint an image
  • Image calculator: apply a mathematical expression to an image or image channels
  • Text & comments: insert descriptive or artistic text in an image
  • Image identification: describe the format and attributes of an image
  • Animation: create a GIF animation sequence from a group of images
  • Composite: overlap one image over another
  • Montage: juxtapose image thumbnails on an image canvas
  • Large image support: read, process, or write mega- and giga-pixel image sizes

Il fantastico comando

Aprite il terminale e puntate alla cartella dove deve avvenire la trasformazione.
Quindi digitate:

mogrify -resize 1600x1600 *.jpg

Con questo comando tutte le immagini che ho nella mia cartella, che hanno dimensioni di 2856×2142, vengono ridimensionate in un colpo solo a 1600×1200, più che sufficienti per il mio scopo.
In sostanza, le foto — scattate sia in orizzontale che in verticale (landscape e portrait) — vengono inserite in un quadrato di 1600×1600 pixel e ridimensionate mantenendo le proporzioni, vale a dire si mantiene il lato lungo della foto a 1600 pixel.
Ovviamente potete variare questo valore come volete, ma date solo quello più lungo.
Occhio al comando che considera tutti i file che finiscano con .jpg: se ci sono foto con .jpeg queste non verranno trattate; eventualmente sostituite il nome con un semplice asterisco * (tutti i file).

Attenzione
Il comando sovrascrive le immagini della cartella! Se dovete mantenere le originali intatte, lanciate quel comando su una copia dei file.

Autore: Aldo Latino

Aldo Latino usa con entusiasmo Linux nella distribuzione Ubuntu, è un appassionato di WordPress e si diletta a fare il blogger. Ha anche una lista dei desideri. Per altre informazioni visita la sua .

10 pensieri riguardo “Come ridimensionare al volo 140 foto”

  1. Se mi permetti aggiungo una “dritta” se vi trovate spesso a spedire foto via mail ad amici o che altro usare il terminale è un po’ “scomodo”.
    Se poi siete anche dei fans delle Nautilus Actions allora seguitemi:

    Installate nautilus actions (in effetti se siete dei fan l’avete già installato…però se non lo siete potete diventarlo)
    sudo apt-get install nautilus-actions

    Ora lo trovate in System->Preferences
    Add
    Label: Make a Thumbnail (oppure quel che volete)
    Icon: usr/share/pixmaps/gaim/buttons/insert-image-small.png (oppure quel che volete)
    Path: mogrify -resize 500×500 *.jpg (la dimensione come diceva Aldo è a scelta)
    Parameters: %M

    La seconda scheda (Conditions) mettete:
    Filenames: *.jpg
    Il resto lasciate

    In tal modo quando cliccate sulle foto jpg vi trovere nello schell l’opzione make a thumbnail :-)

    Potete farne una diversa per jpeg sostituendo il formato. sia in Path sia in Filenames

    Scusate per Ubuntu in English ma necessità ambientali (vivo in UK) mi portano a utilizzarlo :-D

  2. l’unico problema è che mogrify elimina il file originale, al suo posto si può usare convert, come in questo piccolo script:

    #!/bin/bash
    for file in `ls *.JPG`
    do
    name=`echo $file | cut -f1 -d.`
    convert -geometry 1600×1200 $file ${name}_1600×1200.jpg
    done
    # create thumbnail
    convert -geometry 100×100 $file ${name}_T.jpg done

  3. Aprite il terminale e puntate alla cartella dove deve avvenire la trasformazione.
    Quindi digitate:
    mogrify -resize 1600x1600 *.jpg

    Scusa, ma per ottenere immagini 1600×1200 non dovresti mica digitare:
    mogrify -resize 1600x1200

I commenti sono chiusi