Come posso convertire l'uno in un altro? Ho pensato a un modo tramite la stringa rgb, ma questo caso alpha layer è ignorato. Quindi la domanda: come convertire uno con l'altro con alpha?Java: convertire java.awt.Color in javafx.scene.paint.Color
6
A
risposta
9
Ottenere ciascun componente dall'oggetto awt Color e utilizzare il metodo statico javafx.scene.paint.Color.rgb(...)
. Si noti che l'awt colori ha un metodo getAlpha()
che restituisce l'alfa come int
nell'intervallo 0-255
, mentre javafx.scene.paint.Color.rgb(...)
aspetta il valore alfa come double
nell'intervallo 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);
OMG !! è adorabile.. – Elltz