我有如下所示轉換RGB值轉換爲顏色
[1.0, 0.0, 0.0] for Red
[0.0, 1.0, 0.0] for Green
所述第一值表示用於紅色的顏色代碼返回十進制值的Java代碼,該第二值表示用於綠色和第三值表示的顏色代碼藍色的顏色代碼。
有沒有什麼辦法可以將這些RGB值轉換成java中相應的顏色?
我有如下所示轉換RGB值轉換爲顏色
[1.0, 0.0, 0.0] for Red
[0.0, 1.0, 0.0] for Green
所述第一值表示用於紅色的顏色代碼返回十進制值的Java代碼,該第二值表示用於綠色和第三值表示的顏色代碼藍色的顏色代碼。
有沒有什麼辦法可以將這些RGB值轉換成java中相應的顏色?
有一個example返回依賴於使用反射來獲取顏色名稱顏色名稱(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
謝謝,它的工作! – MaheshVarma
@MaheshVarma我實際上是在我的電腦裏做這個答案。巧合 –
很高興知道,一個人正在同一時間在相同的地理位置工作在相同的要求。 @BharathRallapalli – MaheshVarma
也許你正在尋找[這個構造函數](http://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#Color%28float,%20float,%20float%29 )? – sgbj