Domanda

Non vedo il colore come il cambiamento solo dal nero al bianco. Scala di grigi.

Il mio esempio. Ho valori che va da 0 a 100.

La loro rappresentazione è in questo modo:

0 - Nero

100 - Bianco

sto dipingendo JComponent e ogni volta che devo cambiare colore devo chiamare

g.setColor(Color);

Ma come dire che per cambiare il colore solo dal nero al bianco, a seconda del mio numero (maggiore è il numero, il colore è più bianco)? Come manipolare oltre RGB?

È stato utile?

Soluzione

Non v'è, naturalmente, nessun cambiamento di colore dal nero al bianco, di per sé, se non attraverso le tonalità più chiare a poco a poco di grigio.

Quindi, basta usare valori uguali di RGB, il trattamento di 0 -. 100 come percentuale del 255

Per esempio, il 50% è RGB di 128.128.128 (anche se a seconda di arrotondamento si potrebbe arrivare a 127.127.127).

L'espressione per passare da un valore percentuale ad un 0-255 è:

rgb=(pct*255)/100;

Altri suggerimenti

L'API di colore ha valori HSB che si possono trovare più facile da utilizzare.

È inoltre possibile utilizzare le HSL Colori . Controlla la scheda "luminanza" quando si avvia con un colore nero o bianco.

Fino a quando i valori sono uguali in RGB si dispone di un grigio.

così

g.setColor(new Color(0, 0, 0);

è bianco.

g.setColor(new Color(255,255,255);

è nero

g.setColor(new Color(128,128,128);

è una miscela uguale di bianco e nero.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top