”;
The most basic effect that can be performed on any image is adjusting its color. Various image processing applications allow you to do it. Similarly, JavaFX also allows you to adjust a color of an image in an application.
You can adjust the color of an image by applying the color adjust effect to it. This includes the adjustment of the Hue, Saturation, Brightness and Contrast on each pixel.
The class named ColorAdjust of the package javafx.scene.effect represents the color adjust effect, this class contains five properties namely −
-
input − This property is of the Effect type and it represents an input to the color adjust effect.
-
brightness − This property is of Double type and it represents the brightness adjustment value for this effect.
-
contrast − This property is of Double type and it represents the contrast adjustment value for this effect.
-
hue − This property is of Double type and it represents the hue adjustment value for this effect.
-
saturation − This property is of Double type and it represents the saturation adjustment value for this effect.
Example
The following program is an example of demonstrating the color adjust effect. In here, we are embedding an image (Tutorialspoint Logo) in JavaFX scene using Image and ImageView classes. This is being done at the position 100, 70 and with a fit height and fit width of 200 and 400 respectively.
We are adjusting the color of this image using the color adjust effect. With contrast, hue, brightness and saturation values as 0.4. -0.05, 0.9, 0.8.
Save this code in a file with the name 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 and execute the saved java file from the command prompt using the following commands.
javac --module-path %PATH_TO_FX% --add-modules javafx.controls ColorAdjustEffectExample.java java --module-path %PATH_TO_FX% --add-modules javafx.controls ColorAdjustEffectExample
Output
On executing, the above program generates a JavaFX window as shown below.
”;