在我的Java应用程序中,我能够获得红、绿、蓝三种颜色的JButton
的Color
;我已经将这些值存储在三个int
中。
如何将这些RGB值转换为包含等效十六进制表示形式的String
?例如#0033fA
发布于 2010-08-31 17:59:20
您可以使用
String hex = String.format("#%02x%02x%02x", r, g, b);
如果希望得到的十六进制数字大写(#FFFFFF
与#ffffff
),请使用大写X。
发布于 2010-08-31 17:54:50
Random ra = new Random();
int r, g, b;
r=ra.nextInt(255);
g=ra.nextInt(255);
b=ra.nextInt(255);
Color color = new Color(r,g,b);
String hex = Integer.toHexString(color.getRGB() & 0xffffff);
if (hex.length() < 6) {
hex = "0" + hex;
}
hex = "#" + hex;
发布于 2021-04-02 20:46:31
即使alpha通道值为零(例如0000ff
),也可以将java.awt.Color
转换为24位十六进制RGB表示:
String.format("%06x", 0xFFFFFF & Color.BLUE.getRGB())
对于大写字母(例如0000FF
):
String.format("%06X", 0xFFFFFF & Color.BLUE.getRGB())
https://stackoverflow.com/questions/3607858
复制相似问题