Effets JavaFX - Réglage des couleurs

Vous pouvez régler la couleur d’une image en lui appliquant l’effet de réglage de la couleur. Cela comprend l'ajustement duHue, Saturation, Brightness et Contrast sur chaque pixel.

La classe nommée ColorAdjust du forfait javafx.scene.effect représente l'effet de réglage des couleurs, cette classe contient cinq propriétés à savoir -

  • input - Cette propriété est du type Effet et représente une entrée pour l'effet de réglage des couleurs.

  • brightness - Cette propriété est de type Double et représente la valeur de réglage de la luminosité pour cet effet.

  • contrast - Cette propriété est de type Double et représente la valeur de réglage du contraste pour cet effet.

  • hue - Cette propriété est de type Double et représente la valeur d'ajustement de la teinte pour cet effet.

  • saturation - Cette propriété est de type Double et représente la valeur de réglage de la saturation pour cet effet.

Exemple

Le programme suivant est un exemple de démonstration de l'effet de réglage des couleurs. Ici, nous intégrons une image (Tutorialspoint Logo) dans une scène JavaFX en utilisantImage et ImageViewDes classes. Ceci est effectué à la position 100, 70 et avec une hauteur et une largeur d'ajustement de 200 et 400 respectivement.

Nous ajustons la couleur de cette image à l'aide de l'effet de réglage des couleurs. Aveccontrast, hue, brightness and saturationvaleurs égales à 0,4. -0,05, 0,9, 0,8.

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

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.effect.ColorAdjust; 
import javafx.scene.image.Image; 
import javafx.scene.image.ImageView; 
import javafx.stage.Stage; 
         
public class ColorAdjustEffectExample extends Application {   
   @Override 
   public void start(Stage stage) {       
      //Creating an image 
      Image image = new Image("http://www.tutorialspoint.com/green/images/logo.png");
      
      //Setting the image view 
      ImageView imageView = new ImageView(image); 
      
      //Setting the position of the image 
      imageView.setX(100);  
      imageView.setY(70); 
      
      //setting the fit height and width of the image view 
      imageView.setFitHeight(200); 
      imageView.setFitWidth(400); 
      
      //Setting the preserve ratio of the image view 
      imageView.setPreserveRatio(true); 
    
      //Instantiating the ColorAdjust class 
      ColorAdjust colorAdjust = new ColorAdjust(); 
      
      //Setting the contrast value 
      colorAdjust.setContrast(0.4);     
      
      //Setting the hue value 
      colorAdjust.setHue(-0.05);     
      
      //Setting the brightness value 
      colorAdjust.setBrightness(0.9);  
      
      //Setting the saturation value 
      colorAdjust.setSaturation(0.8);   
       
      //Applying coloradjust effect to the ImageView node 
      imageView.setEffect(colorAdjust);    
         
      //Creating a Group object  
      Group root = new Group(imageView);   
               
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300);  
      
      //Setting title to the Stage 
      stage.setTitle("Coloradjust effect 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 ColorAdjustEffectExample.java 
java ColorAdjustEffectExample

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