将RGB值转换为彩色

我有一个返回小数值的java代码,如下所示

 [1.0, 0.0, 0.0] for Red  
 [0.0, 1.0, 0.0] for Green 

第一个值表示红色的颜色代码,第二个值表示绿色的颜色代码,第三个值表示蓝色的颜色代码。

有什么办法可以将这些RGB值转换成java中的相应颜色?


有一个示例返回依赖于使用Reflection获取颜色名称的颜色名称(java.awt.Color)

public static String getNameReflection(Color colorParam) {
        try {
            //first read all fields in array
            Field[] field = Class.forName("java.awt.Color").getDeclaredFields();
            for (Field f : field) {
                String colorName = f.getName();
                Class<?> t = f.getType();
                if (t == java.awt.Color.class) {
                    Color defined = (Color) f.get(null);
                    if (defined.equals(colorParam)) {
                        System.out.println(colorName);
                        return colorName.toUpperCase();
                    }
                }
            }
        } catch (Exception e) {
            System.out.println("Error... " + e.toString());
        }
        return "NO_MATCH";
    }

并在主要

        Color colr = new Color(1.0f, 0.0f, 0.0f);
        Main m = new Main();
        m.getNameReflection(colr);
    }

你必须知道: "java.awt.Color"定义了这种颜色:

white
WHITE
lightGray
LIGHT_GRAY
gray
GRAY
darkGray
DARK_GRAY
black
BLACK
red
RED
pink
PINK
orange
ORANGE
yellow
YELLOW
green
GREEN
magenta
MAGENTA
cyan
CYAN
blue
BLUE
链接地址: http://www.djcxy.com/p/15393.html

上一篇: Converting RGB values into color

下一篇: RGB to Hex and Hex to RGB