Efeitos JavaFX - Ajuste de cores
Você pode ajustar a cor de uma imagem aplicando o efeito de ajuste de cor a ela. Isso inclui o ajuste doHue, Saturation, Brightness e Contrast em cada pixel.
A classe chamada ColorAdjust do pacote javafx.scene.effect representa o efeito de ajuste de cor, esta classe contém cinco propriedades, a saber -
input - Esta propriedade é do tipo Efeito e representa uma entrada para o efeito de ajuste de cor.
brightness - Esta propriedade é do tipo Double e representa o valor de ajuste de brilho para este efeito.
contrast - Esta propriedade é do tipo Double e representa o valor de ajuste do contraste para este efeito.
hue - Esta propriedade é do tipo Double e representa o valor de ajuste de matiz para este efeito.
saturation - Esta propriedade é do tipo Double e representa o valor de ajuste da saturação para este efeito.
Exemplo
O programa a seguir é um exemplo de demonstração do efeito de ajuste de cor. Aqui, estamos incorporando uma imagem (Tutorialspoint Logo) na cena JavaFX usandoImage e ImageViewAulas. Isso está sendo feito na posição 100, 70 e com uma altura e largura de ajuste de 200 e 400, respectivamente.
Estamos ajustando a cor desta imagem usando o efeito de ajuste de cor. Comcontrast, hue, brightness and saturationvalores como 0,4. -0,05, 0,9, 0,8.
Salve este código em um arquivo com o nome 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 e execute o arquivo java salvo no prompt de comando usando os comandos a seguir.
javac ColorAdjustEffectExample.java
java ColorAdjustEffectExample
Ao ser executado, o programa acima gera uma janela JavaFX conforme mostrado abaixo.