JavaFX 效果 - 高斯模糊

与方框模糊一样,高斯模糊是 JavaFX 中一种模糊节点的效果。唯一的区别在于,在高斯模糊效果中,使用高斯卷积核来产生模糊效果。

javafx.scene.effect 中的 GaussianBlur 类表示高斯模糊效果,该类包含两个属性,分别是 −

  • input − 此属性属于 Effect 类型,它表示方框模糊效果的输入。

  • radius − 此属性属于 double 类型,表示要应用高斯模糊效果的半径。模糊效果与半径成正比。

示例

以下程序是演示高斯模糊效果的示例。在此,我们绘制一个文本"Welcome to Tutorialspoint",并用 DARKSEAGREEN 颜色填充,并对其应用高斯模糊效果。

将此代码保存在名为 GaussianBlurEffectExample.java 的文件中。

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.paint.Color; 
import javafx.stage.Stage; 
import javafx.scene.text.Font; 
import javafx.scene.text.FontWeight; 
import javafx.scene.text.Text; 
import javafx.scene.effect.GaussianBlur; 
         
public class GaussianBlurEffectExample extends Application { 
   @Override 
   public void start(Stage stage) {
        //创建 Text 对象
        Text text = new Text();
        
        //设置文本的字体
        text.setFont(Font.font(null, FontWeight.BOLD, 40));
        
        //设置文本的位置
        text.setX(60);
        text.setY(150);
        
        //设置要添加的文本。
        text.setText("Welcome to Tutorialspoint");
        
        //设置文本的颜色
        text.setFill(Color.DARKSEAGREEN);
        
        //实例化 GaussianBlur 类
        GaussianBlur gaussianBlur = new GaussianBlur();
        
        //设置半径以应用高斯模糊效果
        gaussianBlur.setRadius(10.5);
        
        //对文本应用高斯模糊效果
        text.setEffect(gaussianBlur);
        
        //创建 Group 对象
        Group root = new Group(text);
        
        //创建 scene 对象
        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 GaussianBlurEffectExample.java 
java GaussianBlurEffectExample  

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

高斯模糊

javafx_effects.html