JavaFX SepiaTone类
SepiaTone Effect 基本上将图像的色调更改为红棕色。在 JavaFX 中,类javafx.scene.effect.SepiaTone表示 SepiaTone 效果。我们只需要实例化这个类就可以产生合适的效果。
1 SepiaTone类的属性
属性 | 描述 | setter方法 |
---|---|---|
input | 这是一个效果(对象)类型的属性。它代表此效果的输入。 | setInput(Effect value) |
level | 这是一个双重类型的属性。它表示控制棕褐色效果强度的级别值。 | setLevel(Double value) |
2 SepiaTone类的构造函数
该类包含下面描述的两个构造函数。
- public Sepiatone() :使用默认参数创建一个新实例
- public Sepiatone(double level) :创建一个具有指定级别值的新实例。
3 SepiaTone类的例子
package com.yiidian;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.SepiaTone;
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 SepiaToneExample 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("Original Image");
text2.setText("SepiaTone Effect Applied");
text1.setX(70);
text1.setY(300);
text2.setX(305);
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(70);
imgview1.setY(90);
imgview2.setX(300);
imgview2.setY(90);
SepiaTone sepia = new SepiaTone();
sepia.setLevel(0.75);
imgview2.setEffect(sepia);
Group root = new Group();
root.getChildren().addAll(imgview1,imgview2,text1,text2);
Scene scene = new Scene(root,600,350);
primaryStage.setScene(scene);
primaryStage.setTitle("一点教程网:Sepia Tone Effect Example");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
输出结果为:
热门文章
优秀文章