JavaFX 效果 - 方框模糊



一般来说,模糊意味着变得不清楚,将模糊效果应用于节点会使其变得不清楚。方框模糊是由 JavaFX 提供的一种模糊效果。在这种效果中,使用简单的方框滤镜将模糊应用于节点。

名为 BoxBlur 的类,位于 javafx.scene.effect 包中,表示方框模糊效果,此类包含四个属性,它们是:

  • height − 此属性为双精度类型,表示效果的垂直大小。

  • width − 此属性为双精度类型,表示效果的水平大小。

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

  • iterations − 此属性为整型,表示要应用于节点的效果迭代次数。这样做是为了提高其质量或平滑度。

示例

以下示例演示了方框模糊效果。在这里,我们绘制填充为 DARKSEAGREEN 颜色的文本“欢迎来到 Tutorialspoint”,并对其应用方框模糊效果。

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

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.effect.BoxBlur; 
import javafx.scene.paint.Color; 
import javafx.stage.Stage; 
import javafx.scene.text.Font; 
import javafx.scene.text.FontWeight; 
import javafx.scene.text.Text; 
         
public class BoxBlurEffectExample 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 BoxBlur class 
      BoxBlur boxblur = new BoxBlur();      
      
      //Setting the width of the box filter 
      boxblur.setWidth(8.0f);  
      
      //Setting the height of the box filter 
      boxblur.setHeight(3.0f); 
      
      //Setting the no of iterations  
      boxblur.setIterations(3);       
               
      //Applying BoxBlur effect to the text 
      text.setEffect(boxblur);          
         
      //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 文件。

javac BoxBlurEffectExample.java 
java BoxBlurEffectExample 

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

Box Blur Effect
javafx_effects.htm
广告
© . All rights reserved.