Slider_ImageSeteffect2
  • dyadjust.brightnessProperty().bind(brightnessslider.valueProperty());
  • double xx = new_val.doubleValue();
    //double yy = new_val.doubleValue();
    //dyadjust.hueProperty().bind(hueslider.valueProperty());
    dyadjust.setSaturation(xx);
Code:

package javafxtemplate1;
//Grid_Transform1.htm
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.Slider;
import javafx.scene.effect.ColorAdjust;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

public class JavaFXTemplate1 extends Application {
ColorAdjust dyadjust = new ColorAdjust();
Node gnode =null;
Slider saturationslider = new Slider(-1.0, 1.0, 0.0);
Slider brightnessslider = new Slider(-1.0, 1.0, 0.0);
@Override
public void start(Stage primaryStage) {
//
//
GridPane root = new GridPane();
//GridPane controller = loadSlider(dyadjust);
Label label1 = new Label("Opacity Slider 0.25");
saturationslider.setPrefWidth(450);
saturationslider.setMajorTickUnit(0.10);saturationslider.setShowTickMarks(true);
saturationslider.setShowTickLabels(true);
//
brightnessslider.setPrefWidth(450);
brightnessslider.setMajorTickUnit(0.10);brightnessslider.setShowTickMarks(true);
brightnessslider.setShowTickLabels(true);
//
ImageView iv1 = new ImageView();
String path = "banner2B.jpg";
//loading image
Image image1 = new Image(JavaFXTemplate1.class.getResourceAsStream(path));
iv1.setImage(image1);
if (image1!= null) {
gnode = iv1;
label1.setText("load image " + path);
//dyadjust.hueProperty().bind(hueslider1.valueProperty());
}
saturationslider.valueProperty().addListener(new ChangeListener<Number>() {
public void changed(ObservableValue<? extends Number> ov,
Number old_val, Number new_val) {
double xx = new_val.doubleValue();
//double yy = new_val.doubleValue();
//dyadjust.hueProperty().bind(hueslider.valueProperty());
dyadjust.setSaturation(xx);
iv1.setEffect(dyadjust);
label1.setText(String.format("Scale Saturation %.2f", new_val));
} });

brightnessslider.valueProperty().addListener(new ChangeListener<Number>() {
public void changed(ObservableValue<? extends Number> ov,
Number old_val, Number new_val) {
//double xx = new_val.doubleValue();
double yy = new_val.doubleValue();
dyadjust.brightnessProperty().bind(brightnessslider.valueProperty());
iv1.setEffect(dyadjust);
label1.setText(String.format("Scale brightness %.2f", new_val));
} });

//

root.setVgap(10);
root.add(label1,0,0);
root.add(iv1,0,1);
root.addRow(2,saturationslider);
root.addRow(3,brightnessslider);
//
Scene scene = new Scene(root, 550,300);
primaryStage.setScene(scene);
primaryStage.setTitle("Slider::Grid");
primaryStage.show();


}
//
public static void main(String[] args) {
Application.launch(args);
}

}
 

 

displays:

adjusting saturation:

Adjusting  Brightness