”;
Just like Gaussian Effect, Motion Blur is an effect to blur the nodes in JavaFX. It also uses a Gaussian Convolution Kernel that helps in producing the blurring effect. The only difference between Gaussian Effect and Motion Blur is that the Gaussian Convolution Kernel is used with a specified angle.
As indicated by the name, on applying this effect by specifying some angle, the given input seems to you as if you are seeing it while it is in motion.
The class named MotionBlur of the package javafx.scene.effect represents the Motion Blur effect. This class contains three properties, which include −
-
input − This property is of the type Effect and it represents an input to the box blur effect.
-
radius − This property is of double type representing the radius with which the Motion Blur Effect is to be applied.
-
Angle − This is a property of double type and it represents the angle of the motion effect in degrees.
Example
The following program is an example demonstrating the Motion Blur Effect. In here, we are drawing the text “Welcome to Tutorialspoint” filled with DARKSEAGREEN color and applying Motion Blur Effect to it with an angle of 45 degrees.
Save this code in a file with the name 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); } }
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 MotionBlurEffectExample.java java --module-path %PATH_TO_FX% --add-modules javafx.controls MotionBlurEffectExample
Output
On executing, the above program generates a JavaFX window as shown below.
”;