Wednesday 28 October 2020

JavaFX: GaussianBlur Effect

 

GaussianBlur class is used to create a blur effect using a Gaussian convolution kernel, with a configurable radius.

 

GaussianBlur class provides below constructors to define GaussianBlur object.

 

public GaussianBlur()

public GaussianBlur(double radius)

radius: Specifies the radius of the blur kernel

 

FXML Example

         <Text fx:id = "text1" text="Learning JavaFX"  fill="white"

                  style="-fx-font-weight: bold; -fx-font-size: 50; -fx-font-family: Verdana; -fx-font-style: italic"

                  stroke="black" strokeWidth="2"

                  x="50" y = "50" effect="$shadow1">

                 

                  <GaussianBlur fx:id = "shadow1" radius="3"/>

         </Text>

 

Find the below working application.

 

gaussianBlurDemo.fxml

<?import javafx.scene.*?>
<?import javafx.scene.shape.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<?import javafx.scene.effect.*?>

<Group xmlns:fx="http://javafx.com/fxml" fx:controller="com.sample.app.effects.controller.InnerShadowEffectController">

	<Text fx:id = "text1" text="Learning JavaFX"  fill="white"
		style="-fx-font-weight: bold; -fx-font-size: 50; -fx-font-family: Verdana; -fx-font-style: italic"
		stroke="black" strokeWidth="2" 
		x="50" y = "50" effect="$shadow1">
		
		<GaussianBlur fx:id = "shadow1" radius="3"/>
	</Text>
	
	
	<Text fx:id = "text2" text="Learning JavaFX"  fill="white"
		style="-fx-font-weight: bold; -fx-font-size: 50; -fx-font-family: Verdana; -fx-font-style: italic"
		stroke="black" strokeWidth="2" 
		x="50" y = "150" effect="$shadow1">
		
		<GaussianBlur fx:id = "shadow1" radius="3"/>
	</Text>
	
	
	<Text fx:id = "text3" text="Learning JavaFX"  fill="white"
		style="-fx-font-weight: bold; -fx-font-size: 50; -fx-font-family: Verdana; -fx-font-style: italic"
		stroke="black" strokeWidth="2" 
		x="50" y = "250" effect="$shadow1">
		
		<GaussianBlur fx:id = "shadow1" radius="5"/>
	</Text>
	
	
	<Text fx:id = "text4" text="Learning JavaFX"  fill="white"
		style="-fx-font-weight: bold; -fx-font-size: 50; -fx-font-family: Verdana; -fx-font-style: italic"
		stroke="black" strokeWidth="2" 
		x="50" y = "350" effect="$shadow1">
		
		<GaussianBlur fx:id = "shadow1" radius="7"/>
	</Text>
	
</Group>

 

GaussianBlurController.java

package com.sample.app.effects.controller;

import java.net.URL;
import java.util.ResourceBundle;

import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.text.Text;

public class GaussianBlurController  implements Initializable {

	@FXML
	private Text text1;
	
	@FXML
	private Text text2;
	
	@FXML
	private Text text3;
	
	@FXML
	private Text text4;

	@Override
	public void initialize(URL location, ResourceBundle resources) {

	}

}

 

GaussianBlurDemo.java

package com.sample.app.effects;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

public class GaussianBlurDemo extends Application {

	private static final String FXML_FILE = "/gaussianBlurDemo.fxml";
	private static final String STAGE_TITLE = "Gaussian BlurEffect";

	public static void main(String args[]) {
		launch(args);

	}

	@Override
	public void start(Stage primaryStage) throws Exception {

		Parent root = (Parent) FXMLLoader.load(this.getClass().getResource(FXML_FILE));

		Scene scene = new Scene(root, 600, 400, Color.WHITE);

		primaryStage.setTitle(STAGE_TITLE);
		primaryStage.setScene(scene);
		primaryStage.show();
	}

}

 

Output

 


 

 

Previous                                                    Next                                                    Home

No comments:

Post a Comment