:: ImageMagick ::
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.
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.
...visto che sono quelli che ci servono di più:)
Si usa il comando -resize:
convert image.jpg -resize 34% risultato.png
Ci sono diversi modi per specificare il ridimensionamento:
Poi ci sono altre cose che investigherò meglio
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:
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.
Quando si scatta, spesso nei dati EXIF sono contenute anche informazioni relative all'orientamento della foto stessa, ovvero se va girata in verticale o in orizzontale. ImageMagick nella conversione può tenere conto di questi dati attraverso il comando -auto-orient.
Supponiamo di avere un'immagine, contenente al suo interno diversi frames di animazione. Potrebbe insorgere in noi il desiderio di avere una singola immagine per ogni frame.
Per ottenere ciò con ImageMagick, si fa così:
convert immaginesorgente.jpg -crop 256x256 finale.png
256x256 rappresentano le dimensioni del singolo frame, e ci pensa ImageMagick a suddividere tutto quanto etc. Se le dimensioni dell'immagine non sono multipli esatti di 256, gli ultimi frames saranno più piccoli.