Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将RGB值添加到其颜色名称中?_Java - Fatal编程技术网

Java 如何将RGB值添加到其颜色名称中?

Java 如何将RGB值添加到其颜色名称中?,java,Java,java中是否有任何可能的方法允许程序员从RGB值检索颜色名称。例如:R:255,G:255,B:0为黄色 谢谢不,没有;只有反过来。典型颜色的颜色类中有静态字段 Intellij IDEA有一个很好的特性,即定义颜色时,实际颜色显示在定义颜色的行的左侧(行号附近)。单击此处,您可以选择颜色,R、G和B的数量将根据所选颜色自动设置。您所能做的最好的事情是找到(基本上)实现了这一点的人。我不知道有人这样做过,但没有什么能阻止你自己去做。没有办法严格以编程方式确定颜色名称 你可以这样做: Map&l

java中是否有任何可能的方法允许程序员从RGB值检索颜色名称。例如:R:255,G:255,B:0为黄色


谢谢

不,没有;只有反过来。典型颜色的颜色类中有静态字段


Intellij IDEA有一个很好的特性,即定义颜色时,实际颜色显示在定义颜色的行的左侧(行号附近)。单击此处,您可以选择颜色,R、G和B的数量将根据所选颜色自动设置。

您所能做的最好的事情是找到(基本上)实现了这一点的人。我不知道有人这样做过,但没有什么能阻止你自己去做。没有办法严格以编程方式确定颜色名称

你可以这样做:

Map<Color, String> colors = new HashMap<Color, String>();

public void populateColors() {
    colors.put(new Color(255, 000, 000), "Red");
    colors.put(new Color(000, 255, 000), "Green");
    colors.put(new Color(000, 000, 255), "Blue");
    colors.put(new Color(255, 255, 000), "Yellow");
    ...
}

public String getColorName(Color color) {
    if (!colors.containsKey(color)) {
        return "Unknown";
    }

    return colors.get(color);
}
Map colors=newhashmap();
public void populateColors(){
颜色。放置(新颜色(25500000),“红色”);
颜色。放置(新颜色(000255000),“绿色”);
颜色。放置(新颜色(000000255),“蓝色”);
颜色。放置(新颜色(255255000),“黄色”);
...
}
公共字符串getColorName(颜色){
如果(!colors.containsKey(颜色)){
返回“未知”;
}
返回颜色。获取(颜色);
}

但也要注意这一点的局限性;如果您允许用户选择颜色(特别是如果您使用不精确的工具,如颜色选择器,而不是手动文本输入),如果他们碰巧选择了
255,254,0
而不是
255,255,0
,那么他们将得到未知的颜色(不是黄色,尽管在人眼看来它们是一样的)。有256^3=16777216种颜色。他们不可能都有一个名字。

不。考虑到还有无数未命名的颜色,不太可能提供这种东西的可行实现

你可以使用一些众所周知的颜色

颜色、黑色、青色等