Java: convertir java.awt.Couleur à javafx.scène.peinture.Couleur


Comment puis-je converger l'un vers l'autre? J'ai pensé à un moyen via une chaîne rvb, mais cette couche alpha est ignorée. Donc, la question - comment convertir l'un à l'autre avec alpha?

Author: James_D, 2015-05-26

1 answers

Récupérez chaque composant de l'objet Couleur awt et utilisez la méthode statique javafx.scene.paint.Color.rgb(...). Notez que la couleur awt a une méthode getAlpha() qui renvoie l'alpha en tant que int dans la plage 0-255, alors que javafx.scene.paint.Color.rgb(...) attend la valeur alpha en tant que {[6] } dans la plage 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
Author: James_D, 2015-05-26 18:47:15