Molti di noi hanno installato il pacchetto imagemagick che per la stragrande maggioranza delle persone è "Un visualizzatore di immagini standardi di X". Ed, in effetti, lanciandolo durante un normale sessione X (magari con gnome, trasparenze ed ammennicoli vari
Poi ho scoperto che imagemagick non si limita ad installare una (scarna) interfaccia grafica, ma comprende una serie di tool da riga di comando che possono essere utilissimi per i nostri amati scrippettini. Qualcuno di voi ha mai sentito parlare di convert??? Eccomenò!! Questo è solo un esempio dei tool di imagemagick
Ma andiamo a incominciare....
Modificare le dimensioni di un'immagine
Uno dei tool (forse il più versatile) del pacchetto imagemagick è mogrify; permette così tanti cambiamenti che rimando alle pagine del manuale e scrivo qualche esempio, che è più chiaro! Andiamo a ritoccare l'immagine avatar.jpg (esatto proprio il draghetto che tutti vedete
Code: Select all
$ mogrify -geometry 480x320 avatar.jpg
In questo caso viene comunque mantenuto il rapporto larghezza/altezza dell'originale, evitando di andare a "schiacciare" o "allungare" l'immagine.
Se vogliamo comunque forzare il ridimensionamento possiamo dare
Code: Select all
$ mogrify -geometry 480x320! avatar.jpg
Segnalo inoltre che è possibile utilizzare dei valori percentuali per ridimensionare.
Rapidamente: se volete ingrandire un'immagine prendete il valore 100 e sommate la percentuale di ingrandimento; per diminuirla basta mettere la percentuale di diminuzione.
Esempio: voglio aumentare la larghezza del 25% (100 + 25%) e diminuirla del 50%?
Code: Select all
$ mogrify -geometry 125%x50% avatar.jpg
Utilizzando sempre mogrify e l'opzione -rotate possiamo ruotare un'immagine specificando i gradi di rotazione (in senso orario). In questo caso è necessario fare un attimo mente locale: se la larghezza è maggiore dell'altezza dell'immagine, dopo i gradi bisongna inserire >. Viceversa, se l'immagine è più alta che larga, inseriremo <.
Ricordiamoci che i caratteri < e > sono dei caratteri di indirizzamento per la shell, quindi specificheremo i gradi racchiusi con l'apice '
Ruotiamo il file di 90º, ovviamente in senso orario
Code: Select all
$ mogrify -rotate '90<' avatar.jpg
Sempre con mogrify (ecché, ma fa anche il caffè?
Per diminuire il numero di colori utilizzati a 2 soli, diamo
Code: Select all
$ mogrify -colors 2 avatar.jpg
Per diminuire il numero di colori del nostro avatar, utilizzando il dither, diamo:
Code: Select all
$ mogrify -colors 4 -dither avatar.jpg
Code: Select all
$ mogrify -map cielo.jpg avatar.jpg
Dopodiche..... vogliamo un'immagine in bianco e nero (monocromatica)? Niente di più semplice!
Code: Select all
$ mogrify -monochrome avatar.jpg
Code: Select all
$ mogrify -gamma .8 avatar.jpg
Aggiungere un bordo all'immagine
E' anche possibile inserire dei bordi di larghezza ed altezza specifica intorno all'immagine. Vogliamo un bordo largo 2 pixel ed alto 4?
Code: Select all
$ mogrify -border 2x4 avatar.jpg
Se preferiamo un bordo con l'effetto 3D (che, insomma, fa la sua porca figura!!!) allora utilizzeremo -frame. Vogliamo un bordo largo 8 pixel ed alto 8?
Code: Select all
$ mogrify -frame 8x8 avatar.jpg
Effettuare il montaggio di un'immagine
Il comando montage permette di eseguire il montaggio. La sua sintassi è:
Code: Select all
montage <fileDaMontare1> <fileDaMontare2> ... <fileDaMontareN> <fileRisultato>
Vogliamo montare i files image01.jpg, image02.jpg e avatar.jpg, e salvare il risultato in output.png
Code: Select all
$ montage image01.jpg image02.jpg avatar.jpg output.png
Abbinare immagini
Utilizziamo ora combine. La sintassi è
Code: Select all
combine <immagine1> <immagine2> <risultato>
Code: Select all
$ combine avatar.jpg cielo.jpg output.jpg
Code: Select all
$ combine -blend 70 avatar.jpg cielo.jpg output.jpg
Per effettuare il morphing, utilizziamo combine specificando 'difference' come parametro di -compose.
combine otterrà la differenza pixel per pixel delle due immagini!
Code: Select all
$ combine -compose difference avatar.jpg cielo.jpg output.jpg
Utilizziamo infine convert per convertire i files da un tipo all'altro. Convertiamo l'avatar in png!
Code: Select all
$ convert avatar.jpg avatar.png
Concludendo, la shell è uno strumento mooooltoo potente! L'unico problema che ha è che ci presenta il classico quadratino grigio lampeggiante su sfondo nero..... ma non per questo bisogna spaventarsi! Aspetta sempre quello che vogliamo fare noi, non come altri os che cercano di farti fare quello che vogliono loro, o lo fanno senza chiedere nulla (ogni riferimento a OS closed e malfunzionanti è puramente casuale
Sempre aperto ad ogni tipo di intervento, nella speranza di essere utile.
Ciriciao a tutti
mouser






