Преобразование значений RGBA в шестнадцатеричный цветовой код
В моем приложении есть несколько ползунков, которые позволяют пользователю изменять цвета ARGB, однако мне необходимо преобразовать эти значения в шестнадцатеричное значение, например 0xff000000, которое является сплошным черным.
Это то, что я до сих пор:
<code>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; } </code>
Однако после получения значения Integer, как показано ниже, я получаю исключение NumberFormatException для входной строки: & quot; 0xccffffff & quot ;:
<code>int color = toHex(new Color(153f, 153f, 153f, 0.80f)); </code>
Любые идеи о том, как получить это целое число? Благодарю.