JavaFX 效果 - 发光

与 Bloom 效果一样,发光效果也会使给定的输入图像发光。此效果使输入的像素更亮。

javafx.scene.effect 中名为 Glow 的类表示发光效果。此类包含两个属性,即 −

  • input − 此属性属于 Effect 类型,表示发光效果的输入。

  • level − 此属性属于 double 类型;表示发光的强度。级别值的范围为 0.0 到 1.0。

示例

以下程序是演示 JavaFX 发光效果的示例。在这里,我们使用 ImageImageView 类将以下图像 (Tutorialspoint Logo) 嵌入 JavaFX 场景中。这将在位置 100、70 处完成,适合高度和适合宽度分别为 200 和 400。

发光效果

对于此图像,我们应用级别值为 0.9 的发光效果。将此代码保存在名为 GlowEffectExample.java 的文件中。

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 GlowEffectExample extends Application { 
   @Override 
   public void start(Stage stage) {
        //创建图像
        Image image = new Image("http://www.tutorialspoint.com/green/images/logo.png");
        
        //设置图像视图
        ImageView imageView = new ImageView(image);
        
        //设置图像视图的适合宽度
        imageView.setFitWidth(200);
        
        //设置图像视图的保留比例
        imageView.setPreserveRatio(true);
        
        //实例化 Glow 类
        Glow glow = new Glow();
        
        //设置发光效果的级别
        glow.setLevel(0.9);
        
        //将 bloom 效果应用于文本
        imageView.setEffect(glow);
        
        //创建 Group 对象
        Group root = new Group(imageView);
        
        //创建场景对象
        Scene scene = new Scene(root, 600, 300);
        
        //设置舞台(Stage)标题
        stage.setTitle("Sample Application");
        
        //将场景添加到舞台(Stage)
        stage.setScene(scene);
        
        //显示舞台(Stage)内容
        stage.show();
   }
   public static void main(String args[]){ 
      launch(args); 
   } 
}      

使用以下命令从命令提示符编译并执行保存的 java 文件。

javac GlowEffectExample.java 
java GlowEffectExample

执行时,上述程序会生成一个 JavaFX 窗口,如下所示。

发光效果示例

javafx_effects.html