JavaFX 效果 - 运动模糊

  • 简述

    就像高斯模糊 一样,运动模糊 是一种在 JavaFX 中模糊节点的效果。它还使用有助于产生模糊效果的高斯卷积核。高斯模糊 和 运动模糊的唯一区别是 高斯卷积核 以指定的角度使用。
    正如名称所示,通过指定某个角度来应用此效果时,给定的输入在您看来就好像您在运动时看到它一样。
    类名为 MotionBlur 包裹的 javafx.scene.effect表示运动模糊效果。此类包含三个属性,其中包括 -
    • input − 此属性属于 Effect 类型,它表示框模糊效果的输入。
    • radius - 该属性是表示半径的 double 类型 Motion Blur Effect 是要应用的。
    • Angle - 这是一个double类型的属性,它以度数表示运动效果的角度。
  • 例子

    以下程序是演示运动模糊效果的示例。在这里,我们绘制文本“Welcome to Tutorialspoint”,填充为 DARKSEAGREEN 颜色,并以 45 度角对其应用运动模糊效果。
    将此代码保存在名称为的文件中 MotionBlurEffectExample.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.MotionBlur; 
             
    public class MotionBlurEffectExample 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 MotionBlur class 
          MotionBlur motionBlur = new MotionBlur();       
          
          //Setting the radius to the effect 
          motionBlur.setRadius(10.5); 
          
          //Setting angle to the effect 
          motionBlur.setAngle(45);        
          
          //Applying MotionBlur effect to text
          text.setEffect(motionBlur);        
             
          //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 MotionBlurEffectExample.java 
    java MotionBlurEffectExample