2

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

4

5 回答 5

5

javax.swing.text.html.StyleSheet可用于此:

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);
于 2014-02-13T13:33:26.430 回答
3

由于您使用的是 SWT,因此您可以使用ColorRegistry API。有几种方法可以获取预填充的注册表 (JFaceResources.getColorRegistry()ITheme.getColorRegistry()),尽管从 javadocs 中并不清楚它们预填充的颜色以及颜色定义的来源。

或者,使用创建地图并使用基于 SWT.COLOR_XXX 常量的名称和通过使用获得的颜色值填充它Display.getSystemColor(...)

于 2012-08-28T12:02:10.027 回答
0

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

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

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

于 2018-02-14T15:02:07.967 回答
-1
Color c= Color.red;
int rgb=c.getRed()*65536+c.getGreen()*256+c.getBlue();

这是你想知道的吗?

于 2017-04-15T05:47:05.490 回答
-2

您可以从十六进制值获取 rgb 值。

以下代码:

Color aColor = new Color(0xFF0096); // Use the hex number syntax
        aColor.getRGB()
于 2012-08-28T11:40:59.287 回答