Convert RGBA values to hex color code

argb, colors, hex, java

Solution

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.

Problem

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.

Original source