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类的构造函数
该类包含下面给出的两个构造函数。
- public ColorAdjust() :使用默认参数创建ColorAdjust的新实例。
- 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);
}
}
输出结果为:
热门文章
优秀文章