我想将java.awt.color对象转换为字符串。
Color c = new Color(255,0,0);
System.out.print(Color.toString);
它打印java.awt.Color [r = 255,g = 0,b = 0]
现在我想解析这个字符串并解码颜色名称,例如蓝色等。
我在想是否有其他方法可以直接将此颜色转换为字符串。
提前致谢。
编辑:我想将此颜色值存储在数据库中。我应该将其存储为String或RGB值吗?
答案 0 :(得分:7)
没有。至少是因为:
但你可以这样做。获取Color
中的预定义常量,并检查它们中的任何一个是否与给定颜色具有相同的RGB。如果是这样 - 打印名称。
至于您添加的问题 - 将其存储为RGB值而不是字符串。
答案 1 :(得分:1)
您必须从商定的颜色名称列表开始,例如these。然后构建一个Map<Color, String>)
,从中获取名称。
答案 2 :(得分:0)
您可以使用方法getRed()
,getBlue()
,getGreen()
和getAlpha()
来获取颜色的组件,而不是解析从toString()
返回的字符串。您还可以将颜色与java.awt.Color中的静态字段进行比较(使用Equals
。)
答案 3 :(得分:0)
您可以使用HTML4 basic并扩展颜色关键字。他们应该可以使用如下表格直接从rgb值中获取:http://www.w3.org/TR/css3-color/#html4