Efectos JavaFX - Desenfoque de caja

En general, Desenfocar significa volverse poco claro, al aplicar el efecto de desenfoque a un nodo, no queda claro. Box Blur es una especie de efecto de desenfoque proporcionado por JavaFX. En este efecto, para aplicar desenfoque al nodo, se usa un filtro de caja simple.

La clase nombrada BoxBlur del paquete javafx.scene.effect representa el efecto BoxBlur, esta clase contiene cuatro propiedades, que son:

  • height - Esta propiedad es de tipo doble que representa el tamaño vertical del efecto.

  • width - Esta propiedad es de tipo doble que representa el tamaño horizontal del efecto.

  • input - Esta propiedad es del tipo efecto y representa una entrada al efecto BoxBlur.

  • iterations- Esta propiedad es de tipo entero que representa el número de iteraciones del efecto que se aplicarán en el nodo. Esto se hace para mejorar su calidad o suavidad.

Ejemplo

A continuación se muestra un ejemplo que demuestra el efecto de desenfoque de cuadro. Aquí, estamos dibujando el texto "Bienvenido a Tutorialspoint" relleno con el color DARKSEAGREEN y aplicándole el efecto Box Blur.

Guarde este código en un archivo con el nombre BoxBlurEffectExample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.effect.BoxBlur; 
import javafx.scene.paint.Color; 
import javafx.stage.Stage; 
import javafx.scene.text.Font; 
import javafx.scene.text.FontWeight; 
import javafx.scene.text.Text; 
         
public class BoxBlurEffectExample 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 BoxBlur class 
      BoxBlur boxblur = new BoxBlur();      
      
      //Setting the width of the box filter 
      boxblur.setWidth(8.0f);  
      
      //Setting the height of the box filter 
      boxblur.setHeight(3.0f); 
      
      //Setting the no of iterations  
      boxblur.setIterations(3);       
               
      //Applying BoxBlur effect to the text 
      text.setEffect(boxblur);          
         
      //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 BoxBlurEffectExample.java 
java BoxBlurEffectExample

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