NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Per saperne di piu'

Approvo

Guida Java 2D - Capitolo 14: Il disegno di base in Java2D: colori.

 

Un colore viene descritto, secondo il modello RGBA (quello che utilizzeremo), mediante quattro componenti:

  • la componente R, cioè il valore di ROSSO (Red) del colore;
  • la componente G, cioè il valore di VERDE (Green) del colore;
  • la componente B, cioè il valore di BLU (Blue) del colore;
  • la componente A, Alpha, che indica il livello di TRASPARENZA.

 

Ogni colore è la 'somma' dei contributi delle varie componenti.

 

 

 

A seconda che si scelga di utilizzare valori interi o numeri float per indicare la quantità, l'apporto delle varie componenti, utilizzeremo, rispettivamente, numeri nel range [0, 255] o nel range [0.0, 1.0].

 

In Java, per definire ed identificare un colore utilizziamo la classe Color, che ha i seguenti costruttori:

  • Color(float R, float G, float B);        (in questo caso, Alpha varrà di default 1, cioè opaco);
  • Color(float R, float G, float B, float Alpha);
  • Color(int R, int G, int B);                (in questo caso, Alpha varrà di default 255, cioè opaco);
  • Color(int R, int G, int B, int Alpha); .

Sono presenti, inoltre, delle costanti predefinite in Color, per identificare facilmente alcuni dei colori più comuni; tra tali costanti abbiamo, ad esempio, le seguenti: black, white, red, green, blue, cyan, magenta, yellow, pink, gray, ....

 

A questo punto dobbiamo vedere come impostare il colore per il disegno, la scrittura o il riempimento di forme.

 

Graphics mette a disposizione il metodo:

  • setColor(Color c)   :   void

per impostare il colore del contesto grafico (il colore di default è il nero, con Alpha a 1).

 

Dopo aver invocato tale metodo, tutto ciò che verrà disegnato o scritto avrà tale colore, e dovremo invocare nuovamente setColor, con un altro colore come parametro, per cambiare il colore del contesto grafico dell'oggetto, se vorremo appunto disegnare qualcos'altro con un colore differente.

 

setColor va utilizzato in paintComponent per indicare quale colore utilizzare per il disegno; esistono, comunque, altri due metodi che lavorano con i colori:

  • setBackground(Color c)   :   void;
  • setForeground(Color c)   :   void; .

 

Il primo metodo imposta il colore di sfondo (background) della componente , mentre il secondo ne imposta il colore in primo piano.

 

Attenzione, però: tali metodi NON vanno utilizzati in paintComponent: sono metodi delle varie componenti, per cui andranno utilizzati, ad esempio, subito dopo aver istanziato una componente, o in altre parti del flusso del programma (es.: a seguito della pressione di un tasto, o di un evento di altro tipo), ma non in paintComponent.

 

 
Vai all'inizio della pagina