Javafx - 从Node的颜色填充中获取RGB值

ssc*_*ode 8 java rgb javafx paint colors

在我的javafx应用程序中,我创建一个圆圈,然后允许用户在...中着色它

Circle circle = new Circle();
circle.setFill(colorPicker.getValue());
Run Code Online (Sandbox Code Playgroud)

然后我需要稍后获取圆圈的颜色并将RGB值变为十六进制形式(#FFFFFF)

circle.getFill(); //returns a Paint object
Run Code Online (Sandbox Code Playgroud)

如何填写RGB十六进制表格?

Dal*_*ale 12

试试这个:

Color c = (Color) circle.getFill();
String hex = String.format( "#%02X%02X%02X",
            (int)( c.getRed() * 255 ),
            (int)( c.getGreen() * 255 ),
            (int)( c.getBlue() * 255 ) );
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.