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.