【发布时间】:2017-06-24 14:50:39
【问题描述】:
当颜色名称作为输入时,我想要一个 RGB 值。以下代码适用于某些颜色(我猜适用于红色等原色)而其他一些颜色(如青色和淡紫色)则失败:
import java.awt.Color;
import javax.swing.text.html.StyleSheet;
public class ColourTest {
public static void main(String[] args) {
StyleSheet s = new StyleSheet();
String colourName = "RED";
Color clr = s.stringToColor(colourName);
int r = clr.getRed();
int g = clr.getGreen();
int b = clr.getBlue();
System.out.println("red:" + r + " green :" + g + " blue:" + b);
}
}
还有其他方法可以获取颜色名称的 RGB 值吗?
【问题讨论】:
-
@Willmore,相反的不是
code to name,而是name to code;) PS:这是一个糟糕的问题,他会被绞死的;) -
您是否有特定的颜色集或者可以是任何颜色?什么是公认的价值,如果你看看汽车行业,他们有一个奇怪的颜色名称;)
-
@AxelH 可以是任何颜色。
-
然后您应该搜索某种开放式数据库,该数据库可以存储所有可能的颜色名称或创建您自己的合并倍数。有 16777216 种不同颜色的代码,我相信总有人会为每个人找到一个名字;)甚至有时同一个名字有两个名字。我建议您找到某种您想要支持的受限颜色枚举。
标签: java