Efectos JavaFX - SepiaTone
Al aplicar el efecto de tono sepia a un nodo en JavaFX (imagen en general), se tonifica con un color marrón rojizo.
La clase nombrada SepiaTone del paquete javafx.scene.effect representa el efecto de tono sepia, esta clase contiene dos propiedades, que son:
level- Esta propiedad es de tipo doble que representa la intensidad de este efecto. El rango de esta propiedad es de 0,0 a 1,0.
input - Esta propiedad es del tipo efecto y representa una entrada al efecto de tono sepia.
Ejemplo
El siguiente programa es un ejemplo que demuestra el efecto de tono sepia de JavaFX. Aquí, estamos incrustando la siguiente imagen (logotipo de tutorialspoint) en la escena JavaFX usandoImage y ImageViewclases. Esto se hace en la posición 100, 70 junto con la altura de ajuste y el ancho de ajuste 200 y 400 respectivamente.
A esta imagen, estamos aplicando el Efecto de tono sepia con el valor de nivel 0.9. Guarde este código en un archivo con nombreSepiaToneEffectExample.java.
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.SepiaTone;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.Stage;
public class SepiaToneEffectExample extends Application {
@Override
public void start(Stage stage) {
//Creating an image
Image image = new Image("http://www.tutorialspoint.com/images/tp-logo.gif");
//Setting the image view
ImageView imageView = new ImageView(image);
//Setting the position of the image
imageView.setX(150);
imageView.setY(0);
//setting the fit height and width of the image view
imageView.setFitHeight(300);
imageView.setFitWidth(400);
//Setting the preserve ratio of the image view
imageView.setPreserveRatio(true);
//Instanting the SepiaTone class
SepiaTone sepiaTone = new SepiaTone();
//Setting the level of the effect
sepiaTone.setLevel(0.8);
//Applying SepiaTone effect to the image
imageView.setEffect(sepiaTone);
//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("Sepia tone 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 SepiaToneEffectExample.java
java SepiaToneEffectExample
Al ejecutarse, el programa anterior genera una ventana JavaFX como se muestra a continuación.