2016-03-17 5 views
1

Est-il possible d'appliquer un effet à l'ensemble de l'application pour changer sa couleur? Je voudrais appliquer une échelle de gris par exemple.Appliquer un effet de niveaux de gris à une application javafx

J'ai vu l'effet [ColorAdjust] [1] mais je ne suis pas sûr de pouvoir l'utiliser pour un effet de niveaux de gris.

+3

Lorsque vous pouvez, s'il vous plaît modifier la question de supprimer la solution et ajouter la solution comme [auto-réponse] (http: //stackoverflow.com/help/self-answer). – jewelsea

Répondre

1

En fait, c'est plutôt simple. Pour appliquer un effet à l'ensemble de l'application, utilisez la méthode setEffect sur le nœud racine. Pour un effet en niveaux de gris, régler la saturation du ColorAdjust à la valeur -1

ColorAdjust grayscale = new ColorAdjust(); 
grayscale.setSaturation(-1); 
stage.getScene().getRoot().setEffect(grayscale); 
0

Même si cela est possible, je ne le recommanderais pas pour une application plus importante, car il s'agit certainement d'un véritable tueur de performance en raison de la façon dont les effets sont implémentés.