Tôi có một số thanh trượt trong ứng dụng của mình cho phép người dùng thay đổi màu của ARGB, tuy nhiên tôi cần chuyển đổi các giá trị này thành giá trị hex như 0xff000000, màu đen.Chuyển đổi các giá trị RGBA thành mã màu hex
Đây là những gì tôi có cho đến nay:
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;
}
Tuy nhiên khi nhận được giá trị Integer như dưới đây, tôi nhận được một NumberFormatException cho chuỗi đầu vào: "0xccffffff":
int color = toHex(new Color(153f, 153f, 153f, 0.80f));
Bất kỳ ý tưởng về làm thế nào để có được điều này để một Integer? Cảm ơn.
Ah, cảm ơn. Đã sắp xếp nó ngay bây giờ. Tôi đang sử dụng Slick cho công cụ phông chữ của mình và bây giờ tôi đã chuyển màu thành java.awt.Color. – Kaikz