006 ImageMagick® – Creare immagine vuota trasparente o colorata

5 Dicembre, 2022 (16:45) | Fotografia digitale, Linux | By: sargonsei

006 ImageMagick® – Creare immagine vuota trasparente o colorata.

1) Per creare creare una immagine vuota, ImageMagick utilizza l’opzione size a cui è abbinato un parametro che esprime le dimensioni dell’immagine, assieme ad un ulteriore parametro che esprime il colore. Per esempio: il comando
convert -size 600x300 xc:none vuota.gif # Crea un'immagine, larga 600 pixels ed alta 300 pixels, di colore trasparente.
convert -size 600x300 xc:red vuotaRossa.jpg # Crea un'immagine, larga 600 pixels ed alta 300 pixels, di colore rosso.

2) L’opzione size, assieme all’opzione +append, consente di creare immagini derivanti dall’unione di più rettangoli anche di colore diverso; Per esempio: l’istruzione
convert -size 300x600 xc:green xc:white xc:red +append Tricolore.jpg # Crea un'immagine, larga 900 pixels ed alta 600 pixels formata dall'unione di tre rettangoli ciascuno dei quali è largo 300 pixels ed alto 600 pixels e rispettivamente di colore: verde, bianco, e rosso.

3) Negli esempi precedenti, il parametro relativo al colore è stato definito in base al nome del colore in inglese, ma ne esistono altri più precisi.
È infatti possibile utilizzare la codifica colore RGB, per il quale ogni colore è codificato mediante una successione di 3 numeri, ciascuno dei quali esprime la luminosità di un diverso colore: il primo numero corrisponde al ROSSO, il secondo numero corrisponde al VERDE, ed il terzo numero corrisponde al BLU.
Ciascuno dei 3 numeri può essere scritto: sottoforma di numero intero compreso fra 0 e 255, oppure come percentuale compresa fra 0% e 100%; per esempio:
il parametro [‘rgb(100%, 0%, 0%)’] = [‘rgb(255, 0, 0)’] = [red] corrisponde al colore ROSSO;
il parametro [‘rgb(0%, 50%, 0%)’] = [‘rgb(0, 128, 0)’] = [green] corrisponde al colore VERDE;
il parametro [‘rgb(0%, 0%, 100%)’] = [‘rgb(0, 0, 255)’] = [blue] corrisponde al colore BLU;

I colori suddetti possono essere mescolati; infatti:
il parametro [‘rgb(0%, 100%, 100%)’] = [‘rgb(0, 255, 255)’] = [cyan] corrisponde al colore CIANO;
il parametro [‘rgb(100%, 0%, 100%)’] = [‘rgb(255, 0, 255)’] = [magenta] corrisponde al colore MAGENTA;
il parametro [‘rgb(100%, 100%, 0%)’] = [‘rgb(255, 255, 0)’] = [yellow] corrisponde al colore GIALLO;
La posizione di ogni singolo numero esprime un colore, mentre il valore di ogni singolo numero esprime la luminosità del colore corrispondente, quindi più il numero è alto, più il colore corrispondente è chiaro; infatti:
il parametro [‘rgb(100%, 100%, 100%)’] = [‘rgb(255, 255, 255)’] = [white] corrisponde al colore BIANCO
il parametro [‘rgb(60%, 60%, 60%)’] = [‘rgb(153, 153, 153)’] corrisponde al colore GRIGIO CHIARO;
il parametro [‘rgb(40%, 40%, 40%)’] = [‘rgb(102, 102, 102)’] corrisponde al colore GRIGIO SCURO;
il parametro [‘rgb(0%, 0%, 0%)’] = [‘rgb(0, 0, 0)’] = [black] corrisponde al colore NERO

Il fatto che i 3 metodi si equivalgano, è dimostrato dal fatto che
convert -size 300x600 xc:'rgb(0%, 50%, 0%)' xc:'rgb(0, 128, 0)' xc:green +append verde300x600x3.jpg # Crea un'immagine, larga 900 pixels ed alta 600 pixels formata dall'unione di tre rettangoli ciascuno dei quali è largo 300 pixels ed alto 600 pixels, ma sono indistinguibili perché del medesimo colore.

4) Le medesime opzioni, variando in modo opportuno i parametri, consentono di capire l’effetto generato da ciascun numero; per esempio:
convert -size 300x600 xc:'rgb(0, 64, 0)' xc:'rgb(0, 128, 0)' xc:'rgb(0, 192, 0)' +append verde+300x600x3.jpg # Crea un'immagine, larga 900 pixels ed alta 600 pixels formata dall'unione di tre rettangoli ciascuno dei quali è largo 300 pixels ed alto 600 pixels, distinguibili perché del medesimo colore ma di tonalità diversa.