I comandi Linux: le utility: ImageMagick | OTHER chapters | |||||||||
Un'immagine può essere rappresentata digitalmente ( memorizzata ) in più modalità ... o in più formati:
IM (
La riga di comando di ImageMagick può essere molto semplice, come questa:
oppure molto complessa, con una montagna di opzioni, come la seguente:
Attenzione: questo esempio è così esteso da costringerci a scriverlo su più righe: per maggiore chiarezza, abbiamo formattato il comando inserendo le backslash (
La riga di comando di ImageMagick è così composta:
( The ImageMagick command-line-processing ) Nelle versioni precedenti di ImageMagick ( versione 5.5.7 e precedenti ) l'interfaccia a riga di comando per la libreria IM creava alcuni problemi, relativi all'ordine in cui le operazioni venivano eseguite. La causa del problema era che ImageMagick si adeguava allo stile standard della riga di comando dei sistemi operativi UNIX:
Questa sequenza, nel tempo, iniziò a produrre problemi, in conseguenza della natura stessa delle immagini, oggetti complessi, sui quali è possibile eseguire un'enorme quantità di operazioni, spesso coinvolgendo altre immagini. Con il passare del tempo, la sequenza della riga di comando, piano piano, venne modificata nel modo seguente:
Questa sequenza funzionava e venne adottata nella versione 5.5.7. Le varie operazioni, quali "
Il problema nasceva quando si volevano eseguire due operazioni sulla stessa immagine! Per esempio:
ImageMagick supporta un gran numero di specifiche che creano un'immagine grazie ad un algoritmo. Tra queste immagini built-in, troviamo gli oggetti CANVAS e XC, il secondo sinonimo del primo, che creano una base grafica del colore specificato:
Il risultato, nel nostro ultimo esempio, in IM v5.5.7, era che le due immagini ( una rossa, l'altra blu ) venivano, prima ruotate, poi unite ( append ): poichè l'operatore " Tutto questo, per ricordare che l'utilizzo della riga di comando, nelle versioni precedenti la 6, era mal definito e può produrre strani risultati. Vediamo, ora, un altro esempio e come verrà eseguito da IM versione 6:
Analizziamo, ora, cosa farà esattamente IM v6:
Tutto qui! ( The ImageMagick v6 Basic Usage ) Molte opzioni da riga di comando prevedono un argomento geometry, con il quale è possibile specificare cose tipo la larghezza e l'altezza desiderate dell'immagine, oltre ad una serie di altre quantità dimensionali. Normalmente, la forma che assume l'argomento geometry è del tipo:
sintassi che indica che size è obbligatorio, mentre offset è solo opzionale. Occasionalmente, è anche possibile trovare la forma:
In nessun caso, però, sono tollerati, all'interno dell'argomento geometry, gli spazi. L'argomento geometry può avere una delle seguenti forme:
costringe le dimensioni dell'immagine, senza preoccuparsi delle proporzioni originali. Usate l'operatore
Usate l'operatore
Infine, utilizzate il simbolo
l'immagine risultante avrà dimensioni 115x86 e sarà composta da 9890 pixel.
All'interno dell'argomento geometry, è possibile anche isolare una regione dell'immagine, indicandone le dimensioni ( width / height ) e, soprattutto, le coordinate del punto ( offset ) dell'immagine dal quale partire con la regione selezionata. Nel prossimo esempio, specifichiamo una regione, di dimensioni 100x200, dell'immagine img1.jpg, da allocare a partire dal punto identificato dall'offset:
e alla quale applicare la trasformazione negate:
L'offset è da calcolare, in presenza dell'opzione region, a partire dall'angolo superiore sinistro dell'immagine globale, angolo che corrisponde all'offset:
a meno che esista un argomento che sposti la locazione corrente in qualche altro punto dell'immagine. Normalmente, l'offset fa riferimento all'intera pagina presente sullo schermo. Il comando seguente, per esempio:
mostra una porzione di 640 pixel per 480 pixel del file pic.jpg, posizionando la finestra dell'immagine a partire dalle coordinate (200,200) dello schermo. Un offset richiede sempre un segno più (
|
||||||||||
I comandi Linux: le utility: ImageMagick | The .bit guides: original contents |