Convert RGBA values to hex color code
11,382
The Color parameters must be floats between 1f and 0f. So this is a valid color:
int color = toHex(new Color(1f, 1f, 1f, 1f));
Which is white.
Author by
Kaikz
Updated on June 19, 2022Comments
-
Kaikz almost 2 years
I have some sliders in my application that allows the user to change ARGB colors, however I need to convert these values to a hex value like 0xff000000, which is solid black.
This is what I have so far:
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; }
However upon getting the Integer value like below, I get a NumberFormatException for input string: "0xccffffff":
int color = toHex(new Color(153f, 153f, 153f, 0.80f));
Any ideas on how to get this to an Integer? Thanks.
-
Kaikz almost 12 yearsAh, thanks. Got it sorted now. I'm using Slick for my font stuff and I've now switched the Color to java.awt.Color.