PDA

View Full Version : [+o-JAVA] Colori RGB


slowguitar
01-06-2005, 10:37
Ciao,
qualcuno sa secondo quale calcolo si ricava l'intero RGB
dei Colori avendo i tre valori interi di red green e blue?
:mc:

roby1483
01-06-2005, 14:01
Non so se ho ben capito quello che cerchi ma esiste java.awt.Color che tra i vari costruttori ne ha uno che prende i 3 valori interi relarivi a rosso, verde e blu e poi il metodo getRGB() ti restituisce l'intero che rappresenta il colore.
Spero di essere stato di aiuto.

slowguitar
01-06-2005, 15:41
ciao
avevo bisogno di saper in che modo
quell'intero viene calcolato avendo come a disposizione gli interi rgb del color,
per esempio
r=0 g=0 b=0 e' nero
però il getRGB mi ritorna un numero negativo (-17456125 o qualcosa del genere che ora non ricordo)
l'intero RGB che mi da' il GetRGB della classe Color come viene calcolato?

:confused: :confused:

roby1483
01-06-2005, 16:34
Allora avevo capito che non avevo capito bene :D
La cosa inversa l'ho fatta in VB6, ovvero dal valore long che rappresenta il colore mi ricavavo i valori di R, G e B. Facevo così:

r=(colore Mod 256) //colore è il long che rappresenta il colore e Mod è l'operatore di modulo
g=((colore\256) Mod 256) // il \ è l'oeratore di divisione intera
b=(colore\256\256)

Penso che la rappresentazione dei colori in Java sia uguale, e facendo il ragionamento inverso dovrebbe tornare.
Stavolta spero di esserti stato veramente di aiuto ;)

^TiGeRShArK^
01-06-2005, 17:24
Credo ke la rappresentazione sia:
00 00 00 (nero)--> FF FF FF(bianco)
in esadecimale, dove le 3 cifre esadecimali rappresentano il valore rispettivamente di R, G, B da 0 a 255.
Per trasformare da Esadecimale a Intero credo ke basti la calcolatrice di win... ma cmq credo ke in qualke modo potresti passare direttamente il valore esadecimale.....

slowguitar
01-06-2005, 17:33
grazie 1000 faccio qualche prova! :)

^TiGeRShArK^
01-06-2005, 17:36
a meno ke nn abbiano cambiato le cose in java dovrebbe funzionare....
ai tempi l'avevo provato (con opportune modifike dato ke avevo a disp solo 64 tonalità x ogni colore) sia in basic ke in c ke in assembly.
Fammi sapere.