JavaFX |发光类
Glow 类是 JavaFX 的一部分。 Glow 是一种高级效果,使用可配置的阈值使输入图像看起来发光。 Glow 类继承Effect类。
类的构造函数:
- Glow() :使用默认参数创建一个新的发光对象。
- Glow(double l) :创建具有指定级别的新 Glow 实例。
常用方法:
Method | Explanation |
---|---|
getInput() | Returns the value of property input |
setInput(Effect v) | Sets the value of property input |
setLevel(double v) | Set the value of level of glow object |
getLevel() | Returns the value of level of glow object |
下面的程序说明了 Glow 类的使用:
- 添加图像并为其添加发光效果的Java程序:在该程序中,创建FileInputStream并将图像作为文件的输入。名为image的图像是使用来自文件输入流的输入创建的。从图像中创建一个图像视图对象并将其添加到VBox 。然后将VBox添加到场景中,并将场景添加到舞台中。使用作为参数传递的指定级别创建发光效果,并使用setEffect()函数将效果设置为图像视图。
// Java Program to add a image and // add Glow effect to it. import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.Stage; import javafx.scene.image.*; import javafx.scene.effect.*; import java.io.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Group; public class glow_1 extends Application { // launch the application public void start(Stage stage) throws Exception { // set title for the stage stage.setTitle("Glow Example"); // create a input stream FileInputStream input = new FileInputStream("D:\\GFG.png"); // create a image Image image = new Image(input); // create a image View ImageView imageview = new ImageView(image); // create a glow effect Glow glow = new Glow(0.5); // set effect imageview.setEffect(glow); // create a VBox VBox vbox = new VBox(imageview); // create a scene Scene scene = new Scene(vbox, 200, 200); // set the scene stage.setScene(scene); stage.show(); } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
输入图像:
输出:
- 用于添加图像并为其添加 Glow 效果的Java程序,还添加一个更改发光级别的按钮:在该程序中,创建FileInputStream并将图像作为文件的输入。名为image的图像是使用来自文件输入流的输入创建的。从图像中,创建图像视图对象并将其添加到VBox 。然后将VBox添加到场景中,并将场景添加到舞台上。使用作为参数传递的指定级别创建发光效果,并使用setEffect()函数将效果设置为图像视图。创建了一个名为 button 的 Button,用于增加图像的亮度。该按钮也被添加到VBox 。使用setLevel()函数增加图像的亮度。与按钮相关的事件使用EventHandler处理。
// Java Program to add a image and // add Glow effect to it, and also // add a button to change the glow level import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.Stage; import javafx.scene.image.*; import javafx.scene.effect.*; import java.io.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Group; public class glow_2 extends Application { double level = 0.1; // launch the application public void start(Stage stage) throws Exception { // set title for the stage stage.setTitle("Glow Example"); // create a input stream FileInputStream input = new FileInputStream("D:\\GFG.png"); // create a image Image image = new Image(input); // create a image View ImageView imageview = new ImageView(image); // create a glow effect Glow glow = new Glow(level); // create a button Button button = new Button("Glow"); // action event EventHandler
event = new EventHandler () { public void handle(ActionEvent e) { // increase the level level += 0.1; if (level > 1) level = 0.0; // set Level gor glow glow.setLevel(level); } }; // set on action of button button.setOnAction(event); // set effect imageview.setEffect(glow); // create a VBox VBox vbox = new VBox(imageview, button); // create a scene Scene scene = new Scene(vbox, 200, 200); // set the scene stage.setScene(scene); stage.show(); } // Main Method public static void main(String args[]) { // launch the application launch(args); } } 输入图像:
输出图像:
注意:上述程序可能无法在在线 IDE 中运行。请使用离线编译器。
参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/effect/Glow.html