Efectos JavaFX - Ajuste de color

Puede ajustar el color de una imagen aplicándole el efecto de ajuste de color. Esto incluye el ajuste de laHue, Saturation, Brightness y Contrast en cada píxel.

La clase nombrada ColorAdjust del paquete javafx.scene.effect representa el efecto de ajuste de color, esta clase contiene cinco propiedades a saber:

  • input - Esta propiedad es del tipo Efecto y representa una entrada al efecto de ajuste de color.

  • brightness - Esta propiedad es de tipo Double y representa el valor de ajuste de brillo para este efecto.

  • contrast - Esta propiedad es de tipo Double y representa el valor de ajuste de contraste para este efecto.

  • hue - Esta propiedad es de tipo Double y representa el valor de ajuste de tono para este efecto.

  • saturation - Esta propiedad es de tipo Double y representa el valor de ajuste de saturación para este efecto.

Ejemplo

El siguiente programa es un ejemplo de demostración del efecto de ajuste de color. Aquí, estamos incrustando una imagen (Tutorialspoint Logo) en la escena JavaFX usandoImage y ImageViewclases. Esto se hace en la posición 100, 70 y con una altura de ajuste y un ancho de ajuste de 200 y 400 respectivamente.

Estamos ajustando el color de esta imagen usando el efecto de ajuste de color. Concontrast, hue, brightness and saturationvalores como 0.4. -0,05, 0,9, 0,8.

Guarde este código en un archivo con el nombre 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); 
   } 
}

Compile y ejecute el archivo java guardado desde el símbolo del sistema utilizando los siguientes comandos.

javac ColorAdjustEffectExample.java 
java ColorAdjustEffectExample

Al ejecutarse, el programa anterior genera una ventana JavaFX como se muestra a continuación.