Manipolare immagini velocemente con mogrify da riga di comando

Manipolare immagini velocemente con mogrify da riga di comando

Mogrify è un semplice programma da riga di comando per manipolare contemporaneamente molti file di tipo immagine. Questo programma si trova solitamente già installato nelle distribuzioni GNU/Linux, ma se dovesse mancare si può installare velocemente tramite il pacchetto Image Magick.

Oggi, ad esempio, ho avuto la necessità di elaborare un gran numero di immagini allo scopo di renderle tutte delle stesse dimensioni e con lo stesso formato.

I file in ingresso erano in alcuni casi in formato JPG ed in altri PNG con trasparenza. Anche le dimensioni erano molto diverse, alcuni erano quadrati ed altri rettangolari, con diverse diagonali ecc.

Quindi, grazie al comodo comando mogrify ho potuto modificare tutti i file in blocco, senza doverli aprire uno ad uno con programmi di grafica.

Nel caso specifico ho effettuato diversi passaggi di Mogrify concatenati tra di loro.

Per prima cosa ho eliminato il canale alpha dei file PNG e l'ho sostituito con il colore bianco usando il parametro -background white -alpha remove.

Successivamente ho ridimensionato tutti i file in modo da farli stare all'interno di un quadrato ideale di 800x800 pixel usando il parametro -resize "800x800^".

Poi ho esteso le dimensioni dei file con uno dei due lati inferiori ad 800 pixel ad esattamente 800x800 pixel riempiendo lo spazio vuoto con il colore bianco. Il parametro da utilizzare per estendere la dimensione dell'immagine e riempire gli spazi vuoti è: -extent 800x800 -gravity Center -fill white *[800x800]. Il parametro -gravity l'ho usato per centrare l'immagine.

Infine ho convertito tutti i file PNG in formato JPG con -format jpg.

Quindi, per riassumere la sequenza, ecco il comando da usare nella cartella che contiene i file da elaborare:

mogrify -background white -alpha remove *.png && mogrify -resize "800x800^" * && mogrify extent 800x800 -gravity Center -fill white *[800x800] * && mogrify -format jpg *.png

Come sempre consiglio di creare un backup. Una copia dei file non fa mai male prima di lanciare comandi di questo tipo. È sempre meglio essere cauti perché basta un semplice errore di battitura per rovinare o perdere irrimediabilmente i file.