Efeitos JavaFX - SepiaTone
Ao aplicar o efeito de tom sépia a um nó no JavaFX (imagem em geral), ele é tonificado com uma cor marrom avermelhada.
A classe chamada SepiaTone do pacote javafx.scene.effect representa o efeito de tom sépia, esta classe contém duas propriedades, que são -
level- Esta propriedade é do tipo duplo que representa a intensidade desse efeito. O intervalo dessa propriedade é de 0,0 a 1,0.
input - Esta propriedade é do tipo efeito e representa uma entrada para o efeito de tom sépia.
Exemplo
O programa a seguir é um exemplo que demonstra o efeito do tom sépia do JavaFX. Aqui, estamos incorporando a seguinte imagem (logotipo do tutorialspoint) na cena JavaFX usandoImage e ImageViewAulas. Isso é feito na posição 100, 70 junto com a altura e largura de ajuste 200 e 400, respectivamente.
A esta imagem, estamos aplicando o efeito de tom sépia com o valor de nível 0,9. Salve este código em um arquivo com o nomeSepiaToneEffectExample.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 e execute o arquivo java salvo no prompt de comando usando os comandos a seguir.
javac SepiaToneEffectExample.java
java SepiaToneEffectExample
Ao ser executado, o programa acima gera uma janela JavaFX conforme mostrado abaixo.