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.