10

我检查了 Color 的 Java 类文档,发现我可以(e.g. "#FFFFFF")使用该Color.decode();方法从十六进制代码字符串生成 Color 对象。

我想为我正在处理的项目实现相反的过程,但似乎没有为此类内置的方法。

是否有捷径可寻?

4

4 回答 4

19
String.format("#%06x", color.getRGB() & 0x00FFFFFF)

掩码用于移除 alpha 分量,在位 24-31

于 2013-02-27T14:03:18.653 回答
3
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
于 2013-02-27T14:21:33.513 回答
1

阅读本文:使用 JColorChooser 获取 Html 颜色代码

答案有一种将颜色转换为十六进制值的方法。

于 2013-02-27T14:01:56.163 回答
0

还有另一种方法。以为我只是添加了这个替代方案。

// 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());
于 2014-12-21T16:43:25.800 回答