Javafx 简明教程

JavaFX - GaussianBlur Effect

就像 Box Blur 一样,Gaussian 是用于模糊 JavaFX 中节点的效果。唯一不同的是,在 Gaussian Blur Effect 中,使用高斯卷积核来产生模糊效果。

Just like Box Blur, Gaussian is an effect to blur the nodes in JavaFX. The only difference is that in Gaussian Blur Effect, a Gaussian convolution kernel is used to produce the blurring effect.

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

The class named GaussianBlur of the package javafx.scene.effect represents the Gaussian Blur Effect, this class contains two properties, which are −

  1. input − This property is of the type Effect and it represents an input to the box blur effect.

  2. radius − This property is of a double type representing the radius with which the Gaussian Blur effect is to be applied. The blur effect is directly proportional to radius.

Example

以下程序是演示高斯模糊效果的一个示例。在此中,我们正在绘制一个填充有暗海绿色的文本“欢迎来到 Tutorialspoint”并对其应用高斯模糊效果。

The following program is an example demonstrating the Gaussian blur effect. In this, we are drawing a text “Welcome to Tutorialspoint” filled with DARKSEAGREEN color and applying the Gaussian Blur Effect to it.

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

Save this code in a file with the name 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) {
      //Creating a Text object
      Text text = new Text();

      //Setting font to the text
      text.setFont(Font.font(null, FontWeight.BOLD, 40));

      //setting the position of the text
      text.setX(60);
      text.setY(150);

      //Setting the text to be added.
      text.setText("Welcome to Tutorialspoint");

      //Setting the color of the text
      text.setFill(Color.DARKSEAGREEN);

      //Instantiating the GaussianBlur class
      GaussianBlur gaussianBlur = new GaussianBlur();

      //Setting the radius to apply the Gaussian Blur effect
      gaussianBlur.setRadius(10.5);

      //Applying Gaussian Blur effect to the text
      text.setEffect(gaussianBlur);

      //Creating a Group object
      Group root = new Group(text);

      //Creating a scene object
      Scene scene = new Scene(root, 600, 300);

      //Setting title to the Stage
      stage.setTitle("Sample Application");

      //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 文件。

Compile and execute the saved java file from the command prompt using the following commands.

javac --module-path %PATH_TO_FX% --add-modules javafx.controls GaussianBlurEffectExample.java
java --module-path %PATH_TO_FX% --add-modules javafx.controls GaussianBlurEffectExample

Output

执行后,上述程序会生成如下所示的 JavaFX 窗口。

On executing, the above program generates a JavaFX window as shown below.

gaussianblur effect