2016-01-22 41 views

回答

2

這個問題的答案爲RGB值是正確的的Javadoc ColorPicker

final ColorPicker colorPicker = new ColorPicker(); 
colorPicker.setOnAction(new EventHandler() { 
    public void handle(Event t) { 
     Color c = colorPicker.getValue(); 
     System.out.println("New Color's RGB = "+c.getRed()+" "+c.getGreen()+" "+c.getBlue()); 
    } 
}); 

或者你可以得到的顏色爲十六進制字符串使用上面的示例:

String hexString = c.toString(); 
+0

肯定。我已經注意到了。但是方法「get」在轉換爲int之後只返回大多數爲1和0的無rgb值。 和ofc。 toString返回十六進制,但它不是一個十六進制顏色值,可以用於CSS前例,所以這就是爲什麼我很困惑。 –

+0

閱讀[文檔](http://docs.oracle.com/javase/8/javafx/api/javafx/scene/paint/Color.html#getRed--)。 'getRed()','getGreen()'和'getBlue()'方法返回範圍爲0.0-1.0的'double'。所以如果你投到'int',當然你可以得到'0'或'1'。如果你想在0-255範圍內使用'int',請執行'(int)(c.getRed()* 255)'。 –

+0

好吧!確實如此!謝謝 –