我检查了 Color 的 Java 类文档,发现我可以(e.g. "#FFFFFF")
使用该Color.decode();
方法从十六进制代码字符串生成 Color 对象。
我想为我正在处理的项目实现相反的过程,但似乎没有为此类内置的方法。
是否有捷径可寻?
String.format("#%06x", color.getRGB() & 0x00FFFFFF)
掩码用于移除 alpha 分量,在位 24-31
Color color = Color.BLUE;
Formatter f = new Formatter(new StringBuffer("#"));
f.format("%02X", color.getRed());
f.format("%02X", color.getGreen());
f.format("%02X", color.getBlue());
f.toString(); //#0000FF
阅读本文:使用 JColorChooser 获取 Html 颜色代码
答案有一种将颜色转换为十六进制值的方法。
还有另一种方法。以为我只是添加了这个替代方案。
// ARGB = (255, 255, 0, 0) (Red)
// hex -> "ffff0000"
String hex = Integer.toHexString(color.getRGB());
// Reduced to RGB: hex -> "#ff0000"
hex = "#" + hex.substring(2, hex.length());