Effets JavaFX - Fusion

En général, mélange signifie mélange d'au moins deux choses ou substances différentes. Si nous appliquons l'effet de fusion, il prendra les pixels de deux entrées différentes. Cela se fera au même endroit et produira une sortie combinée basée sur leblend mode.

Par exemple, si nous dessinons deux objets, l'objet du haut recouvre celui du bas. Lors de l'application de l'effet de fusion, les pixels des deux objets dans la zone de chevauchement sont combinés et affichés en fonction du mode d'entrée.

La classe nommée Blend du forfait javafx.scene.effect représente l'effet de fusion, cette classe contient quatre propriétés, qui sont -

  • bottomInput - Cette propriété est du type Effet et représente l'entrée inférieure de l'effet de fusion.

  • topInput - Cette propriété est du type Effet et représente l'entrée supérieure de l'effet de fusion.

  • opacity - Cette propriété est de type double et représente la valeur d'opacité modulée avec l'entrée supérieure.

  • mode - Cette propriété est du type BlendMode et représente le mode utilisé pour mélanger les deux entrées ensemble.

Exemple

Voici un exemple illustrant l'effet de fusion. Ici, nous dessinons un cercle rempli de couleur MARRON, au-dessus se trouve un BLUEVIOLET ColorInput.

Nous avons appliqué l'effet de fusion en choisissant un mode de multiplication Dans la zone de chevauchement, les couleurs des deux objets ont été multipliées et affichées.

Enregistrez ce code dans un fichier avec le nom BlendEffectExample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.stage.Stage;
import javafx.scene.shape.Circle; 
import javafx.scene.effect.Blend; 
import javafx.scene.effect.BlendMode; 
import javafx.scene.effect.ColorInput; 
import javafx.scene.paint.Color; 
         
public class BlendEffectExample extends Application { 
   @Override 
   public void start(Stage stage) { 
      //Drawing a Circle 
      Circle circle = new Circle();       
      
      //Setting the center of the Circle
      circle.setCenterX(75.0f); 
      circle.setCenterY(75.0f); 
      
      //Setting radius of the circle 
      circle.setRadius(30.0f); 
      
      //Setting the fill color of the circle 
      circle.setFill(Color.BROWN); 
       
      //Instantiating the blend class 
      Blend blend = new Blend(); 
      
      //Preparing the to input object 
      ColorInput topInput = new ColorInput(35, 30, 75, 40, Color.BLUEVIOLET); 
      
      //setting the top input to the blend object 
      blend.setTopInput(topInput); 
      
      //setting the blend mode 
      blend.setMode(BlendMode.SRC_OVER); 
       
      //Applying the blend effect to circle  
      circle.setEffect(blend);       
         
      //Creating a Group object  
      Group root = new Group(circle); 
         
      //Creating a scene object 
      Scene scene = new Scene(root, 150, 150);  
      
      //Setting title to the Stage 
      stage.setTitle("Blend Example"); 
         
      //Adding scene to the stage 
      stage.setScene(scene); 
         
      //Displaying the contents of the stage 
      stage.show(); 
   }      
   public static void main(String args[]){ 
      launch(args); 
   } 
}

Compilez et exécutez le fichier java enregistré à partir de l'invite de commande à l'aide des commandes suivantes.

javac BlendEffectExample.java 
java BlendEffectExample

Lors de l'exécution, le programme ci-dessus génère une fenêtre JavaFX comme indiqué ci-dessous.

Modes de fusion

S.NON Mode et description Production
1

ADD

Dans ce mode, les valeurs de couleur des entrées supérieure et inférieure sont ajoutées et affichées.

2

MULTIPLY

Dans ce mode, les valeurs de couleur des entrées supérieure et inférieure sont multipliées et affichées.

3

DIFFERENCE

Dans ce mode, parmi les valeurs de couleur des entrées supérieure et inférieure, la plus foncée est soustraite de la plus claire et affichée.

4

RED

Dans ce mode, les composants rouges de l'entrée inférieure ont été remplacés par les composants rouges de l'entrée supérieure.

5

BLUE

Dans ce mode, les composants bleus de l'entrée inférieure ont été remplacés par les composants bleus de l'entrée supérieure.

6

GREEN

Dans ce mode, les composants verts de l'entrée inférieure ont été remplacés par les composants verts de l'entrée supérieure.

sept

EXCLUSION

Dans ce mode, les composants de couleur des deux entrées ont été multipliés et doublés. Ensuite, ils sont soustraits de la somme des composants de couleur de l'entrée inférieure. Le résultat est alors affiché.

8

COLOR_BURN

Dans ce mode, l'inverse de la composante de couleur d'entrée inférieure était divisée par la composante de couleur d'entrée supérieure. Ainsi, la valeur obtenue est inversée et affichée.

9

COLOR_DODGE

Dans ce mode, les composantes de couleur d'entrée inférieures ont été divisées par l'inverse des composantes de couleur d'entrée supérieures et la valeur ainsi obtenue est inversée et affichée.

dix

LIGHTEN

Dans ce mode, la composante de couleur plus claire, parmi les deux entrées, est affichée.

11

DARKEN

Dans ce mode, la composante de couleur la plus foncée, parmi les entrées supérieure et inférieure est affichée.

12

SCREEN

Dans ce mode, les composantes de couleur des entrées supérieure et inférieure ont été inversées, multipliées et la valeur ainsi obtenue est inversée et affichée.

13

OVERLAY

Dans ce mode, en fonction de la couleur d'entrée inférieure, les composantes de couleur des deux valeurs d'entrée ont été multipliées ou tramées et le résultat est affiché.

14

HARD_LIGHT

Dans ce mode, en fonction de la couleur d'entrée supérieure, les composantes de couleur des deux valeurs d'entrée ont été multipliées ou tramées et le résultat est affiché.

15

SOFT_LIGH

Dans ce mode, en fonction de la couleur d'entrée supérieure, les composantes de couleur des deux valeurs d'entrée ont été adoucies ou éclaircies et le résultat est affiché.

16

SRC_ATOP

Dans ce mode, la zone de recouvrement est remplie avec la composante couleur de l'entrée inférieure. Alors que la zone sans chevauchement est remplie avec le composant de couleur de l'entrée supérieure.

17

SRC_OVER

Dans ce mode, l'entrée supérieure est dessinée sur l'entrée inférieure.