Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.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_Swt - Fatal编程技术网

Java 如何以编程方式从颜色名称中获取R-G-B值

Java 如何以编程方式从颜色名称中获取R-G-B值,java,swt,Java,Swt,通过了解颜色名称,我们如何在Java中以编程方式找到它的红、绿、蓝值?您可以从十六进制值中获得rgb值 以下代码: Color aColor = new Color(0xFF0096); // Use the hex number syntax aColor.getRGB() 因为您使用的是SWT,所以您可以使用API。有两种方法可以获得预填充的注册表(JFaceResources.getColorRegistry()和ITheme.getColorRegistry()),尽管

通过了解颜色名称,我们如何在Java中以编程方式找到它的红、绿、蓝值?

您可以从十六进制值中获得rgb值

以下代码:

Color aColor = new Color(0xFF0096); // Use the hex number syntax
        aColor.getRGB()

因为您使用的是SWT,所以您可以使用API。有两种方法可以获得预填充的注册表(
JFaceResources.getColorRegistry()
ITheme.getColorRegistry()
),尽管从Javadoc中不清楚预填充的颜色以及颜色定义的来源


或者,使用创建映射并根据SWT.COLOR\u XXX常量和通过使用
Display.getSystemColor(…)
获得的颜色值使用名称填充映射。
javax.swing.text.html。样式表可用于此:

import javax.swing.text.html.StyleSheet;

StyleSheet s = new StyleSheet();
String rgb = "black";
Color c1 = s.stringToColor(rgb);
r1 = c1.getRed();
g1 = c1.getGreen();
b1 = c1.getBlue();

System.out.println(r1 + ", " + g1 + ", " + b1);

这就是您想要知道的吗?

如果您正在为Eclipse平台编写代码,那么该方法是一种替代方法

它可以访问
SWT
类中定义的常数的所有颜色,以及系统颜色


该方法位于
org.eclipse.ui.workbench
插件中。

您希望识别什么颜色名称?HTML的?在任何情况下,最简单的事情就是构建一个
映射来查找它们。与此相同@萨吉特:是的,正好相反。那根本不是OP要求的。例如,如果输入是
“blue”
,他希望有RGB值。是的,没错,我想从颜色名称中获取RGB值……我认为只映射为。。。如上所述
Color c= Color.red;
int rgb=c.getRed()*65536+c.getGreen()*256+c.getBlue();