JavaFX SepiaTone类

SepiaTone Effect 基本上将图像的色调更改为红棕色。在 JavaFX 中,类javafx.scene.effect.SepiaTone表示 SepiaTone 效果。我们只需要实例化这个类就可以产生合适的效果。

1 SepiaTone类的属性

属性 描述 setter方法
input 这是一个效果(对象)类型的属性。它代表此效果的输入。 setInput(Effect value)
level 这是一个双重类型的属性。它表示控制棕褐色效果强度的级别值。 setLevel(Double value)

2 SepiaTone类的构造函数

该类包含下面描述的两个构造函数。

  1. public Sepiatone() :使用默认参数创建一个新实例
  2. 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);
    }
}  

输出结果为:

热门文章

优秀文章