8. La finestra di dialogo GIH

Quandi si crea un nuovo pennello animato esso viene mostrato nella finestra immagine e deve essere salvato nel formato GIH. Si selezioni la voce FileSalva come... fornendo gih come estensione del nome nell'apposito campo, alla pressione del pulsante Salva viene mostrata la seguente finestra:

Figura 7.18. La finestra di dialogo per descrivere i pennelli animati

La finestra di dialogo per descrivere i pennelli animati

Questa finestra di dialogo viene mostrata se si salva un'immagine come pennello animato


Questa finestra di dialogo possiede diverse opzioni non facili da capire che servono a determinare il comportamento del pennello.

Spaziatura (in percentuale)

La «spaziatura» è la distanza tra due segni consecutivi creati da un'operazione di disegno con un pennello (in pratica una «pennellata»). È importante per la comprensione del concetto, considerare il disegno con un qualsiasi pennello, come una forma di «timbratura multipla». Se la spaziatura è poca, i segni saranno molto vicini ed il tratteggio apparirà continuo. Se la spaziatura è invece elevata, i segni saranno separati; quest'ultima impostazione può tornare utile con un pennello colorato, come il «peperone verde» per intenderci. Il valore varia da 1 a 200 e si riferisce alla percentuale del diametro del pennello: 100% significa un diametro intero.

Descrizione

È il nome del pennello che apparirà in cima alla finestra di dialogo del pennello (modalità griglia) quando il pennello sarà selezionato.

Dimensione cella

Questa è la dimensione delle celle che si dividerà in livelli...il valore predefinito è di una cella per livello di ampiezza uguale al livello. Perciò c'è solo un aspetto del pennello per livello.

Possiamo avere solo un grande livello e tagliarne all'interno le celle che verranno usate per i diversi aspetti del pennello animato.

Per esempio, vogliamo un pennello di 100x100 pixel con 8 differenti aspetti. Possiamo allora prendere questi 8 aspetti differenti da un livello di 400x200 pixel o da un livello di 300x300 pixel ma con una cella inutilizzata.

Numero di celle

Questo è il numero di celle (una per ogni aspetto) che verranno tagliate in ogni livello. Il valore predefinito è il numero di livelli tale per cui ci sia un solo livello per aspetto.

Mostra come

Questa voce mostra come le celle sono state disposte nei livelli. Se per esempio, si è disposto otto celle, due celle per livello su quattro livelli, GIMP mostrerà: 1 righe di 2 colonne su ogni livello.

Dimensione, Ranghi, Selezione

Adesso l'argomento comincia a complicarsi: qualche spiegazione diventa necessaria per capire come disporre le celle e i livelli.

GIMP parte caricando le celle da ogni livello e impilandole in una pila FIFO (First In First Out, il primo elemento che entra nella pila sarà il primo ad uscire). Nel nostro esempio di 4 livelli con due celle in ognuno avremo, dall'alto al basso: prima cella del primo livello, seconda cella del primo livello, prima cella del secondo livello, seconda cella del secondo livello e così via fino alla seconda cella del quarto livello. Con un qualsiasi numero di celle per livello, il metodo è sempre questo. È possibile visualizzare la pila nella finestra livelli del file immagine .gih risultante.

GIMP crea un array dalla pila con le Dimensioni che avete impostato. Potete usare quattro dimensioni.

In computer science an array has a «myarray(x,y,z)» form for a 3 dimensions array (3D). It's easy to imagine a 2D array: on a paper it's an array with rows and columns

With a 3d array we don't talk rows and columns but Dimensions and Ranks. The first dimension is along x axis, the second dimension along y axis, the third along z axis. Each dimension has ranks of cells.

Per riempire questo array, GIMP comincia a caricare le celle dalla cima della pila. Il modo in cui avviene lo riempimento dell'array può ricordare il funzionamento di un'odometro: la cifra di destra di rango inferiore, gira per prima e quando raggiunge il valore massimo, fa un movimento quella alla sua sinistra di rango superiore e così via. Se qualcuno ricorda la programmazione in Basic, avrete in un array le seguenti successioni: (1,1,1), (1,1,2), (1,2,1), (1,2,2), (2,1,1), (2,1,2), (2,2,2), (3,1,1),.... (4,2,2). Le vedremo più tardi in un esempio.

Oltre al numero di rango che è possibile assegnare ad ogni dimensione, si può assegnare anche una modalità Selezione. Ci sono diverse modalità che saranno applicate durante il disegno:

Incrementale

GIMP seleziona un rango dalla dimensione interessata a seconda dell'ordine che possiedono i ranghi in quella dimensione.

Casuale

GIMP seleziona un rango a caso dalla dimensione interessata.

Angolare

GIMP seleziona un rango nella dimensione interessata a seconda dell'angolo mobile del pennello.

The first rank is for the direction 0°, upwards. The other ranks are affected, clockwise, to an angle whose value is 360/number of ranks. So, with 4 ranks in the concerned dimension, the angle will move 90° clockwise for each direction change: second rank will be affected to 90° (rightwards), third rank to 180° (downwards) and fourth rank to 270° (-90°) (leftwards).[2]

Velocità, Pressione, inclinazione x, inclinazione y

Queste opzioni riguardano le tavolette grafiche più sofisticate.

Esempi

Un pennello animato monodimensionale

Bene! E a cosa serve tutto ciò? Le vedremo con calma usando degli esempi. È possibile impostare ogni dimensione per fare in modo che il pennello faccia un'azione particolare.

Let us start with a 1D brush which will allow us to study selection modes action. We can imagine it like this:

Follow these steps:

  1. Aprire una nuova immagine di 30x30 pixel, RGB con riempimento trasparente. Usando lo strumento testo creare 4 livelli «1», «2», «3», «4». Cancellare il livello di «sfondo».

  2. Salvare prima quest'immagine con estensione .xcf per mantenere le sue proprietà e poi salvarla come .gih.

  3. La finestra di dialogo «Salva come..» è aperta: selezionate una destinazione per l'immagine. Ok. La finestra di dialogo GIH è aperta: scegliere spaziatura 100, impostare un nome nel riquadro di descrizione, dimensione cella 30x30, una (1) dimensione, rango 4 e scegliere «Incrementale» nella finestra di selezione. Ok.

  4. You may have difficulties to save directly in the GIMP Brush directory. In that case, save the .gih file manually into the /usr/share/gimp/gimp/2.0/brushes directory. Then come back into the Toolbox, click in the brush icon to open the Brush Dialog then click on Refresh. Your new brush appears in the Brush window. Select it. Select pencil tool for instance and click and hold with it on a new image:

    You see 1, 2, 3, 4 digits following one another in order.

  5. Take your .xcf image file back and save it as .gih setting Selection to «Random»:

    Digits will be displayed at random order.

  6. Now select «Angular» Selection:

Un pennello animato a 3 dimensioni

Ora creeremo un pennello animato a 3 dimensioni: la sua orientazione varierà a seconda della direzione del pennello, varierà la mano destra/sinistra regolarmente ed il suo colore cambierà casualmente tra nero e blu.

The first question we have to answer to is the number of images that is necessary. We reserve the first dimension (x) to the brush direction (4 directions). The second dimension (y) is for Left/Right alternation and the third dimension (z) for color variation. Such a brush is represented in a 3D array «myarray(4,2,2)»:

There are 4 ranks in first dimension (x), 2 ranks in second dimension (y) and 2 ranks in third dimension (z). We see that there are 4x2x2 = 16 cells. We need 16 images.

  1. Creazione di immagini di dimensione 1 (x)

    Open a new 30x30 pixels image, RGB with Transparent Fill Type. Using the zoom draw a left hand with fingers upwards.[3] Save it as handL0k.xcf (hand Left 0° Black).

    Aprire la finestra di dialogo livelli. Fare doppio clic sul livello per aprire la finestra degli attributi di livello e rinominarlo a handL0k.

    Duplicare il livello. Rendere visibile sono il livello duplicato, selezionarlo ed applicare una rotazione di 90° (Livello/Trasforma/Rotazione di 90° oraria). Rinominarlo a handL90k.

    Ripetere le stesse operazioni per creare handL180k e handL90k (o handL270k).

  2. Creazione immagini di dimensione 2 (y)

    Questa dimensione nel nostro esempio possiede due ranghi, uno per la mano sinistra e l'altro per la destra. Il rango della mano sinistra esiste ancora. Dobbiamo costruire le immagini della mano destra riflettendole orizzontalmente.

    Duplicare il livello handL0k. Renderlo solo visibile e selezionarlo. Rinominarlo in handR0K. Applicare Livello/Trasforma/Rifletti orizzontalmente.

    Ripetere la stessa operazione sugli altri livelli della mano sinistra per creare i corrispondenti della mano destra.

    Ri-ordinare i livelli per avere una rotazione oraria dalla cima al fondo, alternando sinistra e destra: handL0k, handR0k, handL90k, handR90k, ..., handR90k.

  3. Creazione immagini di dimensione 3 (z)

    Creazione di immagini di dimensione 3 (z): La terza dimensione possiede due ranghi, uno per il colore nero e uno per il blu. Il primo rango, nero, esiste già. Vedremo che le immagini di dimensione 3 saranno una copia, in blu, delle immagini in dimensione 2. Così si otterranno le nostre 16 immagini. Ma una riga di 16 livelli non è semplice da gestire: si useranno livelli con due immagini.

    Selezionare il livello handL0k e renderlo solo visibile. Usando Immagine/Dimensione superficie impostare una superficie di 60x30 pixel.

    Duplicare il livello hand0k. Sulla compia, riempire la mano con il blu usando lo strumento di riempimento di colore.

    Ora selezionare lo strumento di spostamento. Fare doppio clic su di esso per accedere alle proprietà dello strumento: impostare l'opzione «Sposta il livello corrente». Spostare la mano blu nella parte destra del livello aiutandosi con lo zoom per ottenere un risultato preciso.

    Accertarsi dell'esclusiva visibilità di handL0k e della sua copia blu. Fare clic con il tasto destro sulla finestra di dialogo dei livelli: applicare il comando «Fondi livelli visibili» con l'opzione «Espandi se necessario». Si dovrebbe ottenere un livello di 60x30 pixel con alla sinistra la mano nera e alla destra quella blu. Rinominarlo in «handsL0».

    Ripetere le stesse operazioni sugli altri livelli.

  4. Imposta i livelli in ordine

    I livelli devono essere in ordine per fare in modo che GIMP possa trovare l'immagine richiesta ad un dato punto dell'utilizzo del pennello. I livelli del nostro esempio sono già ordinati, ma è importante comprendere come ordinarli per completezza. Ci sono due modi di considerare l'ordine. Il primo è matematico: GIMP divide i 16 livelli prima per 4; da questo si ottiene 4 gruppi di 4 livelli per la prima dimensione. Ogni gruppo rappresenta una direzione del pennello. Poi GIMP divide ogni gruppo per 2 ottenendo 8 gruppi di 2 livelli per la seconda dimensione: ogni gruppo rappresenta un'alternanza S/D. Poi c'è un'altra divisione per 2 per la terza dimensione che rappresenta un colore casuale tra nero e blu.

    The other method is visual, by using the array representation. Correlation between two methods is represented in next image:

    How will GIMP read this array?: GIMP starts with the first dimension which is programmed for «angular», for instance 90°. In this 90° rank, in yellow, in the second dimension, it selects a L/R alternation, in an «incremental» way. Then, in the third dimension, in a random way, it chooses a color. Finely, our layers must be in the following order:

  5. Voilà. Il pennello è pronto. Salvarlo prima come .xcf, e poi come .gih con i seguenti parametri:

    • Spaziatura: 100

    • Descrizione: Mani

    • Dimensione cella: 30x30

    • Numero di celle: 16

    • Dimensioni: 3

      • Dimensione 1: 4 ranghi Selezione: Angolare

      • Dimensione 2: 2 ranghi Selezione: Incrementale

      • Dimensione 3: 2 ranghi Selezione: Casuale

    Piazzare il file .gih nella directory dei pennelli di GIMP e aggiornare la finestra dei pennelli. Fatto questo è possibile usare il nuovo pennello.

    Figura 7.19.  Ecco il risultato di un tratto di una selezione elittica con il pennello:

    Ecco il risultato di un tratto di una selezione elittica con il pennello:

    Questo pennello alterna con regolarità la mano destra e sinistra usando casualmente i colori blu e nero, a seconda delle 4 direzioni prese dal pennello.




[2] For previous GIMP versions you may have to replace «clockwise» with «counter-clockwise».

[3] Ok, we are cheating here: our hand is borrowed from http://commons.wikimedia.org/wiki/File:Stop_hand.png.