RGB Farbcode in Hex Farbcode konvetieren!
-
Hallo,
wie kann ich in Java einen RGB Farbcode in einen Hexfarbcode konvertieren? Ich habe folgende Variablen:
int red=255;
int green=255;
int blue=25;Sodass später folgender Wert rauskommt: 0xFFFF19
Ich wäre für jede Hilfe sehr dankbar!
-
Hi, ich würde das so angehen:
Das hexadezimale Zahlensystem hat die Zahl 16 zur Basis und hat demnach einen Zahlenvorrat von 0-15, wobei 10-15 durch A-F zu ersetzen sind.
Man teilt die Zahl durch 16 und merkt sich den Rest der bei der Division übrigbleit, das macht man solange bis die Zahl 0 ist.
Bsp an der Zahl 5373:5373:16=335 R=13= D
335:16= 20 R=15= F
20:16= 1 R=4 = 4
1:16= 0 R=1 = 1Ergebnis: 14FD
Hier, hab das mal lösen müssen, du nimmst einfach den rot, grün, blau wert einzeln und übergibst ihn der Funktion, änder halt ein bisschen was ab:
void hexa() { try { int Rest[] = new int[50], Zahl = Integer.parseInt(TfDez2.getText()), l=0, k; String Ausgabe=""; do { Rest[l++] = Zahl%16; Zahl /= 16; } while(Zahl>0); for (k=l-1;k>=0;--k) { if (Rest[k]>9) { switch (Rest[k]) { case 10: Ausgabe += 'A'; break; case 11: Ausgabe += 'B'; break; case 12: Ausgabe += 'C'; break; case 13: Ausgabe += 'D'; break; case 14: Ausgabe += 'E'; break; case 15: Ausgabe += 'F'; break; } } else Ausgabe += String.valueOf(Rest[k]); } TfHex.setText(Ausgabe); }catch(Exception ex2) { TfHex.setText("Hier stimmt doch was nicht!"); } }
-
Man kann es auch kompliziert machen
Die Klasse Integer hat unter anderem eine abstrakte Methode toHexString.
Ein Blick in die API hätte das jedem offenbartAlso:
int red=255; int green=255; int blue=25; String s_red = Integer.toHexString(red); String s_green = Integer.toHexString(green); String s_blue = Integer.toHexString(blue);
Alles klar?
-
@GPC: Und auch wenn mans per Hand machen will, geht das viel effizienter:
http://www.c-plusplus.net/forum/viewtopic.php?t=83514&start=0&postdays=0&postorder=asc&highlight=
-
ja, ja, ja, ist ja schon gut, link halt zu meinen eigenen Threads.