Efectos JavaFX - Desenfoque gaussiano

Al igual que Box Blur, Gaussian es un efecto para difuminar los nodos en JavaFX. La única diferencia es que enGaussian Blur Effect, se utiliza un núcleo de convolución gaussiano para producir el efecto de desenfoque.

La clase denominada GaussianBlur del paquete javafx.scene.effect representa el efecto de desenfoque gaussiano, esta clase contiene dos propiedades, que son:

  • input - Esta propiedad es del tipo Efecto y representa una entrada al efecto de desenfoque del cuadro.

  • radius - Esta propiedad es de tipo doble que representa el radio con el que Gaussian Blur effectse aplicará. El efecto de desenfoque es directamente proporcional al radio.

Ejemplo

El siguiente programa es un ejemplo que demuestra el efecto de desenfoque gaussiano. En esto, estamos dibujando un texto “Bienvenido a Tutorialspoint” relleno con color DARKSEAGREEN y aplicándole el Efecto de Desenfoque Gaussiano.

Guarde este código en un archivo con el nombre GaussianBlurEffectExample.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.GaussianBlur; 
         
public class GaussianBlurEffectExample 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 GaussianBlur class
      GaussianBlur gaussianBlur = new GaussianBlur();       
      
      //Setting the radius to apply the Gaussian Blur effect  
      gaussianBlur.setRadius(10.5); 
       
      //Applying Gaussian Blur effect to the text 
      text.setEffect(gaussianBlur);        
         
      //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 y ejecute el archivo java guardado desde el símbolo del sistema utilizando los siguientes comandos.

javac GaussianBlurEffectExample.java 
java GaussianBlurEffectExample

Al ejecutarse, el programa anterior genera una ventana JavaFX como se muestra a continuación.