Javafx 简明教程
JavaFX - SepiaTone Effect
褐色调效果通常将图像从黑白颜色更改为红褐色。您可以在 JavaFX(通常是图像)中将褐色调效果应用到节点。
包 javafx.scene.effect 中名为 SepiaTone 的类表示褐色调效果,此类包含两个属性,它们是:
-
level - 该属性为双精度类型,表示此效果的强度。此属性的范围为 0.0 到 1.0。
-
input − 该属性为 effect 类型,它表示怀旧效果的输入。
Example
以下程序是一个演示 JavaFX 怀旧效果的示例。在此示例中,我们使用 Image 和 ImageView 类将以下图像(tutorialspoint 徽标)嵌入 JavaFX 场景中。我们将其置于位置 100, 70,并设置其高度和宽度分别为 200 和 400。
对此图像,我们使用级别值为 0.9 应用怀旧效果。将此代码保存在名为 SepiaToneEffectExample.java 的文件中。
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.stage.Stage;
public class SepiaToneEffectExample extends Application {
@Override
public void start(Stage stage) {
//Creating an image
Image image = new Image("http://www.tutorialspoint.com/images/tp-logo.gif");
//Setting the image view
ImageView imageView = new ImageView(image);
//Setting the position of the image
imageView.setX(150);
imageView.setY(0);
//setting the fit height and width of the image view
imageView.setFitHeight(300);
imageView.setFitWidth(400);
//Setting the preserve ratio of the image view
imageView.setPreserveRatio(true);
//Instanting the SepiaTone class
SepiaTone sepiaTone = new SepiaTone();
//Setting the level of the effect
sepiaTone.setLevel(0.8);
//Applying SepiaTone effect to the image
imageView.setEffect(sepiaTone);
//Creating a Group object
Group root = new Group(imageView);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Sepia tone effect example");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
使用以下命令,从命令提示符编译并执行已保存的 java 文件。
javac --module-path %PATH_TO_FX% --add-modules javafx.controls SepiaToneEffectExample.java
java --module-path %PATH_TO_FX% --add-modules javafx.controls SepiaToneEffectExample