2013-11-25 3 views
1

У меня есть код Java, который возвращает десятичные значения, как показано нижепреобразования значений RGB в цвете

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

первое значение обозначает код цвета для красного, второе значение обозначает цветовой код для зеленого и третье значение означает Цветовой код для Blue.

Можно ли каким-либо образом преобразовать эти значения RGB в соответствующий цвет в java?

+2

Возможно, вы ищете [этот конструктор] (http://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#Color%28float,%20float,%20float%29)? – sgbj

ответ

2

Есть в example вернуть имя цвета, которые зависят от использования 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 
+0

Спасибо, это сработало! – MaheshVarma

+0

@MaheshVarma Я действительно делал этот ответ на своем компьютере сейчас. Совпадение –

+0

Приятно знать, что парень работает над одним и тем же требованием одновременно и в том же географическом месте. @BharathRallapalli – MaheshVarma

Смежные вопросы