Tengo algunos controles deslizantes en mi aplicación que permiten al usuario cambiar los colores ARGB, sin embargo, necesito convertir estos valores a un valor hexadecimal como 0xff000000, que es negro sólido.Convertir valores RGBA a código de color hexadecimal
Esto es lo que tengo hasta ahora:
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;
}
Sin embargo al llegar al valor entero, como a continuación, aparece un NumberFormatException para la cadena de entrada: "0xccffffff":
int color = toHex(new Color(153f, 153f, 153f, 0.80f));
alguna idea sobre cómo hacer esto en un Entero? Gracias.
Ah, gracias. Lo tengo ordenado ahora. Estoy usando Slick para mis cosas de fuentes y ahora he cambiado el Color a java.awt.Color. – Kaikz