JavaFX ColorAdjust类

JavaFX 允许我们通过调整图像颜色的色调、饱和度、亮度和对比度等属性来调整图像的颜色。类javafx.scene.effect.ColorAdjust包含可用于在节点上应用ColorAdjust效果的各种属性和方法。

1 ColorAdjust类的属性

属性 描述 setter方法
brightness 调整颜色的亮度。它是一个双重类型的属性。 setBrightness(double value)
contrast 根据颜色的对比度进行调整。它是双重类型的属性。 setContrast(double value)
hue 在颜色的色调进行的调整。它是双重类型的属性 setHue(double value)
input 效果的输入值。它是双重类型的属性 setInput(double value)
saturation 调整颜色的饱和度。它是双重类型的属性 setSaturation(double value)

2 ColorAdjust类的构造函数

该类包含下面给出的两个构造函数。

  1. public ColorAdjust() :使用默认参数创建ColorAdjust的新实例。
  2. public ColorAdjust(double hue, double saturation, double brightness, double contrast):使用指定的参数创建新的 ColorAdjust 实例。

3  ColorAdjust类的例子

在下面的示例中,ColorAdjust 效果已应用于具有某些属性的图像。效果图像和原始图像之间的比较显示为输出。

package com.yiidian;

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.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class ColorAdjustEffect extends Application {
  
    @Override  
    public void start(Stage primaryStage) throws Exception {
        Image img1 = new Image("http://image.yiidian.com/uploadfile/2021/0830/0f67a92212e89832af0a9b3bf47a68b1.png");
        Image img2 = new Image("http://image.yiidian.com/uploadfile/2021/0830/0f67a92212e89832af0a9b3bf47a68b1.png");
        ImageView imgview1 = new ImageView(img1);
        ImageView imgview2 = new ImageView(img2);  
        Text text1 = new Text();
        Text text2 = new Text();  
        text1.setText("ColorAdjust Effect Applied");  
        text2.setText("ColorAdjust Effect Not Applied");  
        text1.setX(50);  
        text1.setY(300);  
        text2.setX(355);  
        text2.setY(300);  
        text1.setFont(Font.font("Courier 10 Pitch", FontWeight.BOLD, FontPosture.REGULAR,16));
        text2.setFont(Font.font("Courier 10 Pitch",FontWeight.BOLD,FontPosture.REGULAR,16));  
        text1.setFill(Color.RED);
        text2.setFill(Color.RED);  
        text1.setStroke(Color.BLACK);  
        text2.setStroke(Color.BLACK);  
        text1.setStrokeWidth(0.2);  
        text2.setStrokeWidth(0.2);  
          
        imgview1.setX(100);  
        imgview1.setY(90);  
        imgview2.setX(400);  
        imgview2.setY(90);  
        ColorAdjust c = new ColorAdjust(); // creating the instance of the ColorAdjust effect.
        c.setBrightness(0.2); // setting the brightness of the color.   
        c.setContrast(0.1); // setting the contrast of the color  
        c.setHue(0.3); // setting the hue of the color  
        c.setSaturation(0.45); // setting the hue of the color.   
        imgview1.setEffect(c); //applying effect on the image  
          
        Group root = new Group();
          
        root.getChildren().addAll(imgview1,imgview2,text1,text2);  
        Scene scene = new Scene(root,700,400);
        primaryStage.setScene(scene);  
  
        primaryStage.setTitle("一点教程网:ColorAdjust Effect Example");
        primaryStage.show();  
          
    }  
public static void main(String[] args) {  
    launch(args);  
}  
} 

输出结果为:

热门文章

优秀文章