如何将一个转换为另一个?我想过通过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);