Effets JavaFX - MotionBlur

Tout comme l'effet gaussien, Motion Blur est un effet pour brouiller les nœuds dans JavaFX. Il utilise également un noyau de convolution gaussien qui aide à produire l'effet de flou. La seule différence entre l'effet gaussien et le flou de mouvement est que le noyau de convolution gaussien est utilisé avec un angle spécifié.

Comme indiqué par le nom, en appliquant cet effet en spécifiant un angle, l'entrée donnée vous semble comme si vous la voyiez pendant qu'elle est en mouvement.

La classe nommée MotionBlur du forfait javafx.scene.effectreprésente l'effet Flou de mouvement. Cette classe contient trois propriétés, qui incluent -

  • input - Cette propriété est du type Effet et représente une entrée pour l'effet de flou de boîte.

  • radius - Cette propriété est de type double représentant le rayon avec lequel le Motion Blur Effect doit être appliqué.

  • Angle - C'est une propriété de type double et elle représente l'angle de l'effet de mouvement en degrés.

Exemple

Le programme suivant est un exemple illustrant l'effet de flou de mouvement. Ici, nous dessinons le texte «Welcome to Tutorialspoint» rempli de couleur DARKSEAGREEN et lui appliquons un effet de flou de mouvement avec un angle de 45 degrés.

Enregistrez ce code dans un fichier avec le nom 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); 
   } 
}

Compilez et exécutez le fichier java enregistré à partir de l'invite de commande à l'aide des commandes suivantes.

javac MotionBlurEffectExample.java 
java MotionBlurEffectExample

Lors de l'exécution, le programme ci-dessus génère une fenêtre JavaFX comme indiqué ci-dessous.