Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.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 按颜色获取R、G、B的值_Java_Colors_Rgb - Fatal编程技术网

Java 按颜色获取R、G、B的值

Java 按颜色获取R、G、B的值,java,colors,rgb,Java,Colors,Rgb,我让用户输入颜色(例如白色、红色等),那么如何使用用户给定的颜色获得R、g、B的值 我有一个函数(float r,float g,float b)来设置节点的颜色。因此,我让用户键入他们想要的颜色名称,然后我想转换该颜色名称以获得函数的r、g、b值。如果您将颜色作为字符串,您可以在地图中查找此颜色,这将为您提供红色,绿色和蓝色值。如果将颜色作为字符串,则在地图中查找此颜色,这将为您提供红色、绿色和蓝色值。颜色定义了表示基本颜色的有限数量的枚举。使用反射将其名称映射到RGB表示 除此之外,您还必须

我让用户输入颜色(例如白色、红色等),那么如何使用用户给定的颜色获得R、g、B的值


我有一个函数(float r,float g,float b)来设置节点的颜色。因此,我让用户键入他们想要的颜色名称,然后我想转换该颜色名称以获得函数的r、g、b值。

如果您将颜色作为字符串,您可以在地图中查找此
颜色,这将为您提供红色,绿色和蓝色值。

如果将颜色作为字符串,则在地图中查找此
颜色,这将为您提供红色、绿色和蓝色值。

颜色定义了表示基本颜色的有限数量的枚举。使用反射将其名称映射到RGB表示

除此之外,您还必须维护颜色/RGB值的映射,或者可能维护一组系统属性,并使用。

颜色定义了数量有限的表示基本颜色的枚举。使用反射将其名称映射到RGB表示


除此之外,您还必须维护颜色/RGB值的映射,或者可能是一组系统属性,并使用。

创建一个映射,其中包含所有可选颜色作为字符串及其RGB表示形式(请注意,颜色位于java.awt包中):

如果可能的话,我建议使用整数而不是浮点数来表示RGB,因为在大多数情况下(如果不是所有情况的话)它的整数范围是从0到255


获取RGB所需的所有颜色的好地方是以下网站:

创建一个地图,其中包含所有可选颜色作为字符串及其RGB表示(请注意,颜色在java.awt包中):

如果可能的话,我建议使用整数而不是浮点数来表示RGB,因为在大多数情况下(如果不是所有情况的话)它的整数范围是从0到255


获取RGB所需的所有颜色的好地方是这个网站:

我有一个函数(float r、float g、float b)来设置节点的颜色。因此,我让用户键入他们想要的颜色名称,然后我想转换该颜色名称以获得函数的r,g,b值。我有一个函数(float r,float g,float b)来设置节点的颜色。因此,我让用户键入他们想要的颜色名称,然后我想转换该颜色名称以获得函数的r,g,b值。我有一个函数(float r,float g,float b)来设置节点的颜色。因此,我让用户键入他们想要的颜色名称,然后我想转换该颜色名称以获得函数的r、g、b值。您还需要设置颜色。您可以将此信息存储在
映射中
,以便以后查找这些值。顺便说一句,通常每个红、绿、蓝都是0到255之间的值。我有一个函数(float r、float g、float b)来设置节点的颜色。因此,我让用户键入他们想要的颜色名称,然后我想转换该颜色名称以获得函数的r、g、b值。您还需要设置颜色。您可以将此信息存储在
映射中
,以便以后查找这些值。顺便说一句,通常每个红、绿、蓝都是0到255之间的值。我有一个函数(float r、float g、float b)来设置节点的颜色。所以我让用户输入他们想要的颜色名称,然后我想转换这个颜色名称,为我的函数得到r,g,b值。“所以我让用户输入他们想要的颜色名称”,有人说吗?我有一个函数(float r,float g,float b)来设置节点的颜色。所以我让用户输入他们想要的颜色名称,然后我想转换这个颜色名称,为我的函数得到r,g,b值。“所以我让用户输入他们想要的颜色名称”,有人说吗?将颜色通道表示为浮动,虽然可能不是连续的,但可以提供24位精度(每个通道)。仅仅因为十进制表示法在你看来不准确,并不意味着当计算机使用它时它会产生不准确。事实上,8位通道值的int-float转换是完全可逆的。我同意它更精确,但是对于颜色的每一个可能的十进制值,你有一个逻辑名称吗?由于人们实际使用的逻辑颜色名称数量有限,所以在本例中我将使用整数。更小、更易于阅读并生成可读性更高的代码,因为您可以省去Java的awt.Color int值到相应浮点值的所有解析。颜色通道表示为float,虽然可能不是连续的,但提供24位精度(每个通道)。仅仅因为十进制表示法在你看来不准确,并不意味着当计算机使用它时它会产生不准确。事实上,8位通道值的int-float转换是完全可逆的。我同意它更精确,但是对于颜色的每一个可能的十进制值,你有一个逻辑名称吗?由于人们实际使用的逻辑颜色名称数量有限,所以在本例中我将使用整数。更小、更易于阅读,并且生成可读性更高的代码,因为您可以省去Java的awt.Color int值到相应浮点值的所有解析。
Map<String,Color> colorMap = new HashMap<String,Color>();
        colorMap.put("white", new Color(255,255,255));
        colorMap.put("red", new Color(255,0,0));
String userColor = <whereever you get your string from>;
Color result = colorMap.get(userColor.toLowerCase());
yourFunction(Float.valueOf(result.getRed(),Float.valueOf(result.getGreen()),Float.valueOf(result.getBlue()));