Pixel

pixels[]

Array contenente i valori, di colore, di tutti i pixel della finestra grafica
La dimensione dell’array corrisponde alla dimensione in pixel della finestra grafica

100×100=10.000
200×300=60.000.

Con il valore di index si specifica la posizione di un valore all’interno dell’array.
Per esempio, l’istruzione color b=pixels[230] imposterà la variabile b uguale al valore presente a quella posizione nell’array.
Prima di accedere all’array, è necessario caricare i dati con la funzione loadPixels().
Dopo che i dati sono stati modificati, devono essere caricati per l’aggiornamento con la funzione updatePixels().

loadPixels()

Carica i dati dei pixel dalla finestra grafica (o immagine) nell’array pixels[].
Questa funzione deve essere richiamata prima di effettuare operazioni di lettura o scrittura su pixels[].
Alcuni renderer potrebbero non richiedere loadPixels() oppure updatePixels().
Comunque, la regola è che ogni volta che si vuole manipolare l’array pixels[], si deve prima chiamare loadPixels(), e dopo aver fatto dei cambiamentiupdatePixels().
Anche se il render utilizzato con la versione attuale di Processing sembra non averne bisogno ci potrebbero essere dei cambiamenti nelle versioni future.
L’uso non corretto di loadPixels() prima dell’uso di pixels[] può, o potrà, provocare una NullPointerException.

updatePixels()

Aggiorna la finestra grafica (o un’immagine) quando sono stati modificati i dati contenuti in pixels[].
Si usa in coppia con loadPixels().
Se si sta solo leggendo i dati dall’array pixels[], non è necessario richiamare updatePixels() finché non ci sono cambiamenti.

get()

Legge il colore di un certo pixel oppure estrae una sezione da un’immagine.
Se non si specificano parametri, sarà restituita l’intera immagine.
Si ottiene il valore di un pixel specificando le coordinate x e y.
Si ottiene una sezione della finestra grafica specificando i parametri addizionali width e height.
Se il pixel richiesto è esterno all’immagine sarà restituito 0, nero. I numeri restituiti dalla funzione sono scalati agli intervalli di colore in uso ma solo nel formato RGB.
Per esempio, sebbene l’ultima figura sia stata disegnata con la modalità colorMode(HSB), il numero restituito sarà comunque RGB.
La funzione imageMode() cambia la modalità di funzionamento dei parametri.
Per esempio, una chiamata di imageMode(CORNERS) cambierà i parametri width e height in x2 e y2
Ottenere il colore di un singolo pixel con get(x, y) è semplice, ma non veloce come l’estrazione del dato direttamente dapixels[].
L’istruzione equivalente a get(x, y) utilizzando pixels[] è pixels[y*width+x].

Sintassi:

get()
get(x, y)
get(x, y, width, height)
get(x1, y1, x2, y2)

set()

Cambia il colore di un pixel oppure scrive un’immagine direttamente nella finestra grafica.
I parametri x e y specificano il pixel da cambiare e il parametro color specifica il valore di colore.
Il parametro color è condizionato dalla modalità di colore corrente (per default i valori di colore sono RGB da 0 a 255).
Quando si posiziona un’immagine i parametri x e y specificano le coordinate dell’angolo in alto a sinistra dell’immagine.
Il posizionamento dell’immagine non dipende dalla funzione imageMode().
Impostare il colore di un singolo pixel con set(x, y) è semplice, ma non veloce come l’inserimento del dato direttamente in pixels[].
L’istruzione equivalente a set(x, y, #000000) utilizzando pixels[] è pixels[y*width+x] = #000000.

Sintassi:

set(x, y, color)
set(x, y, image)

copy()

Copia una regione di pixel della finestra grafica in un’altra area della finestra grafica e copia una regione di pixel di un’immagine, specificata con il parametro srcImg, in un’area della finestra grafica.
Se le regioni sorgente e destinazione non sono della stessa dimensione, i pixel sorgente saranno ridimensionati per adattarli alla destinazione. Il processo non prevede informazioni sulla trasparenza ma se l’immagine sorgente prevede la trasparenza essa sarà copiata allo stesso modo.
La funzione imageMode() cambia il comportamento dei parametri…

Sintassi:

copy(x, y, width, height, dx, dy, dwidth, dheight)
copy(srcImg, x, y, width, height, dx, dy, dwidth, dheight)
copy(x1, y1, x2, y2, dx1, dy1, dx2, dy2)
copy(srcImg, x1, y1, x2, y2, dx1, dy1, dx2, dy2)

filter()

blend()