(:title ImageMagick:)
:: ImageMagick ::
Che cos'è?
ImageMagick è una collezione di programmi da linea di comando che permettono di lavorare sulle immagini.
Sembra strano lavorare su immagini senza vederle, ma in realtà l'utilità c'è: automatizzare una serie di operazioni su una lunga serie di files!
Premetto che non ne so molto, e che questa pagina serve un po' come pagina per gli appunti.
Come si usa
Ci sono due comandi principali: convert e mogrify. Non chiedetemi l'origine del nome mogrify.
convert legge un'immagine, applica i comandi che specifichiamo e salva il risultato in un'altra immagine. mogrify invece legge un'immagine, applica i comandi e la sovrascrive.
In generale, la linea di comando è fatta così:
convert file-in-input comandi file-in-output
ImageMagick si prende la briga di convertire l'immagine nel formato specificato dall'estensione di file-in-output. Legge praticamente tutto e salva praticamente in tutti i formati.
Esempi pratici
...visto che sono quelli che ci servono di più:)
Ridimensionare un'immagine
Si usa il comando -resize:
convert image.jpg -resize 34% risultato.png
Ci sono diversi modi per specificare il ridimensionamento:
- indicare una percentuale: -resize 45%
- indicare delle dimensioni: -resize 640x480
- indicare solo la larghezza, l'altezza è calcolata automaticamente: -resize 640
Poi ci sono altre cose che investigherò meglio
Applicare un'operazione ad una serie di files
Supponiamo di voler convertire tutti i files con un certo nome. Con ImageMagick è piuttosto semplice. Faccio subito un esempio così si chiarisce bene la faccenda:
convert 'DSC*.jpg' -resize 26.44% risultato.png
ImageMagick è abbastanza furbo da fare queste due cose:
- legge tutti i files che la quasi-regexp 'DSC*.jpg' accetta;
- automaticamente modifica il nome risultato.png: risultato-0.png per il primo file convertito, risultato-1.png per il secondo e così via.
Tuttavia, per strani motivi, il modo migliore di convertire in serie è scrivere così:
convert 'DSC*.jpg[40%]' risultato.png
La differenza tra questa scrittura e quella precedente è che adesso i files vengono convertiti man mano che si leggono, mentre quell'altra prima li legge tutti e poi li converte. O una cosa del genere.
Guide