如何将一个转换为另一个?我想过通过rgb字符串的方法,但是这种情况下的alpha层将被忽略。那么问题来了-如何使用alpha转换为另一个?

最佳答案

从awt Color对象获取每个组件,并使用javafx.scene.paint.Color.rgb(...)静态方法。请注意,awt Color具有getAlpha()方法,该方法返回alphat作为int范围内的0-255,而javafx.scene.paint.Color.rgb(...)期望alpha值作为double范围内的0.0-1.0:

java.awt.Color awtColor = ... ;
int r = awtColor.getRed();
int g = awtColor.getGreen();
int b = awtColor.getBlue();
int a = awtColor.getAlpha();
double opacity = a / 255.0 ;
javafx.scene.paint.Color fxColor = javafx.scene.paint.Color.rgb(r, g, b, opacity);

10-01 17:22