Nella mia applicazione ho alcuni dispositivi di scorrimento che consentono all'utente di modificare i colori ARGB, tuttavia è necessario convertire questi valori in un valore esadecimale come 0xff000000, che è nero pieno.Converti valori RGBA in codice esadecimale colore
Questo è quello che ho finora:
protected int toHex(Color col) {
String as = pad(Integer.toHexString(col.getAlpha()));
String rs = pad(Integer.toHexString(col.getRed()));
String gs = pad(Integer.toHexString(col.getGreen()));
String bs = pad(Integer.toHexString(col.getBlue()));
String hex = "0x" + as + rs + gs + bs;
return Integer.parseInt(hex, 16);
}
private static final String pad(String s) {
return (s.length() == 1) ? "0" + s : s;
}
Tuttavia su come raggiungere il valore intero come qui di seguito, ho un NumberFormatException per stringa di input: "0xccffffff":
int color = toHex(new Color(153f, 153f, 153f, 0.80f));
Tutte le idee su come ottenere questo ad un intero? Grazie.
Ah, grazie. Ho risolto ora. Sto usando Slick per i miei font e ora ho cambiato il colore in java.awt.Color. – Kaikz