📜  JavaFX 图像Glow发光效果(1)

📅  最后修改于: 2023-12-03 14:42:22.679000             🧑  作者: Mango

JavaFX 图像Glow发光效果介绍

JavaFX是一种由Oracle公司开发的基于Java的用户界面框架,它包括了许多可以用于构建丰富图形界面的API。其中之一便是Glow API,用于实现图像发光效果。

简介

Glow是一个实现了图像发光效果的类,在JavaFX的包javafx.scene.effect中。它可以使一幅图像看起来像它被周围的光照射,从而产生一个发光的效果。Glow可以用于JavaFX中的任何Node节点。

要使用Glow,只需创建一个Glow对象,并将其附加到需要应用光效果的节点。像下面这样:

Glow glow = new Glow();
node.setEffect(glow);
效果参数

您可以使用set方法来改变Glow效果的参数,可以根据需要调整光晕大小和强度。下面是一些可用的方法:

glow.setLevel(value); //设置光晕的强度,范围是[0, 1],默认值为 0.0。
glow.setInput(value); //允许嵌套Glow或Blur效果。
示例代码

以下是一个简单的JavaFX程序,展示了如何在图像上应用Glow效果:

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.Glow;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.Stage;

public class ImageGlowEffect extends Application {

    private static final String IMAGE_URL =
            "https://www.oracle.com/webfolder/technetwork/tutorials/obe/java/Lesson5/javafx_logo.png";

    @Override
    public void start(Stage primaryStage) throws Exception {

        Image image = new Image(IMAGE_URL);
        ImageView imageView = new ImageView(image);

        Glow glow = new Glow(0.7);
        imageView.setEffect(glow);

        Group root = new Group(imageView);
        Scene scene = new Scene(root, image.getWidth(), image.getHeight());

        primaryStage.setTitle("Image Glow Effect Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

上述程序通过设置Glow的参数使图像产生较大的光晕,然后将其显示在JavaFX的主窗口中。您可以尝试更改Glow的参数来观察效果的变化。