Effetti JavaFX - Regolazione colore
È possibile regolare il colore di un'immagine applicandovi l'effetto di regolazione del colore. Ciò include la regolazione delHue, Saturation, Brightness e Contrast su ogni pixel.
La classe denominata ColorAdjust del pacchetto javafx.scene.effect rappresenta l'effetto di regolazione del colore, questa classe contiene cinque proprietà, ovvero:
input - Questa proprietà è del tipo Effetto e rappresenta un input per l'effetto di regolazione del colore.
brightness - Questa proprietà è di tipo Double e rappresenta il valore di regolazione della luminosità per questo effetto.
contrast - Questa proprietà è di tipo Double e rappresenta il valore di regolazione del contrasto per questo effetto.
hue - Questa proprietà è di tipo Double e rappresenta il valore di regolazione della tonalità per questo effetto.
saturation - Questa proprietà è di tipo Double e rappresenta il valore di regolazione della saturazione per questo effetto.
Esempio
Il seguente programma è un esempio di dimostrazione dell'effetto di regolazione del colore. Qui, stiamo incorporando un'immagine (Tutorialspoint Logo) nella scena JavaFX usandoImage e ImageViewclassi. Questo viene fatto nella posizione 100, 70 e con un'altezza di adattamento e una larghezza di adattamento di 200 e 400 rispettivamente.
Stiamo regolando il colore di questa immagine utilizzando l'effetto di regolazione del colore. Concontrast, hue, brightness and saturationvalori come 0.4. -0,05, 0,9, 0,8.
Salva questo codice in un file con il 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);
}
}
Compilare ed eseguire il file java salvato dal prompt dei comandi utilizzando i seguenti comandi.
javac ColorAdjustEffectExample.java
java ColorAdjustEffectExample
All'esecuzione, il programma di cui sopra genera una finestra JavaFX come mostrato di seguito.