La clase BoxBlur es parte de JavaFX. BoxBlur usa un filtro Box simple para desenfocar un Node. BoxBlur se usa para implementar Blur en JavaFX. Un efecto de desenfoque que utiliza un kernel de filtro de cuadro simple, con tamaños configurables por separado en ambas dimensiones y un parámetro de iteración que controla la calidad del desenfoque resultante.
La clase BoxBlur tiene tres componentes:
- Altura: La dimensión vertical del efecto.
- Ancho: La dimensión horizontal del efecto.
- Iteraciones: el número de iteraciones del efecto de desenfoque.
Constructores de la clase:
- BoxBlur() : Crea un nuevo objeto de BoxBlur.
- BoxBlur(doble w, doble h, int i) : Crea un nuevo objeto BoxBlur con ancho, alto e iteraciones especificados.
Métodos comúnmente utilizados:
Método | Explicación |
---|---|
obtenerAltura() | Devuelve la dimensión vertical del efecto. |
obtenerAncho() | Devuelve la dimensión horizontal del efecto. |
obtener iteraciones() | Devuelve el número de iteraciones del efecto. |
obtenerEntrada() | Obtiene el valor de la propiedad de entrada. |
setInput(Efecto v) | Establece el valor de la propiedad de entrada. |
setHeight(doble v) | Establece la dimensión vertical del efecto. |
establecer ancho (doble v) | Establece la dimensión horizontal del efecto. |
establecer iteraciones (int i) | Establece el número de iteraciones del efecto. |
Los siguientes programas ilustran el uso de la clase BoxBlur:
- Programa Java para importar una imagen y agregarle el efecto Box Blur: en este programa se crea un FileInputStream y se toma una imagen como entrada de un archivo. La imagen denominada imagen se crea utilizando la entrada del flujo de entrada del archivo. A partir de la imagen, se crea un objeto de vista de imagen y se agrega al VBox . Luego se agrega el VBox a la escena y la escena se agrega al escenario. Se crea un efecto BoxBlur con un nivel especificado que se pasa como parámetro y el efecto se establece en la vista de la imagen mediante la función setEffect() .
// Java program to import an image and
// add Box Blur effect to it
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.control.*;
import
javafx.scene.layout.*;
import
javafx.stage.Stage;
import
javafx.scene.image.*;
import
javafx.scene.effect.*;
import
java.io.*;
import
javafx.event.ActionEvent;
import
javafx.event.EventHandler;
import
javafx.scene.Group;
public
class
box_blur_1
extends
Application {
// launch the application
public
void
start(Stage stage)
throws
Exception
{
// set title for the stage
stage.setTitle(
"BoxBlur Example"
);
// create a input stream
FileInputStream input =
new
FileInputStream(
"D:\\GFG.png"
);
// create a image
Image image =
new
Image(input);
// create a image View
ImageView imageview =
new
ImageView(image);
// create a box blur effect
BoxBlur box_blur =
new
BoxBlur();
// set effect
imageview.setEffect(box_blur);
// create a VBox
VBox vbox =
new
VBox(imageview);
// create a scene
Scene scene =
new
Scene(vbox,
200
,
200
);
// set the scene
stage.setScene(scene);
stage.show();
}
// Main Method
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
Imagen de entrada:
Producción:
- Programa Java para importar una imagen y efecto de desenfoque con tamaños configurables por separado en ambas dimensiones y un parámetro de iteración: en este programa se crea un FileInputStream y se toma una imagen como entrada de un archivo. La imagen llamada imagen se crea utilizando la entrada del flujo de entrada del archivo. A partir de la imagen, se crea un objeto de vista de imagen y se agrega al VBox . Luego se agrega el VBox a la escena y la escena se agrega al escenario. Se crea un efecto BoxBlur con un nivel especificado que se pasa como parámetro y el efecto se establece en la vista de la imagen mediante la función setEffect() . El ancho, la altura y el número de iteraciones del efecto se establecen usando setHeight() ,función setWidth() y setIterations() respectivamente.
// Java program to import an image and blur effect
// to it with separately configurable sizes in both
// dimensions, and an iteration parameter
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.control.*;
import
javafx.scene.layout.*;
import
javafx.stage.Stage;
import
javafx.scene.image.*;
import
javafx.scene.effect.*;
import
java.io.*;
import
javafx.event.ActionEvent;
import
javafx.event.EventHandler;
import
javafx.scene.Group;
public
class
box_blur_2
extends
Application {
// launch the application
public
void
start(Stage stage)
throws
Exception
{
// set title for the stage
stage.setTitle(
"BoxBlur Example"
);
// create a input stream
FileInputStream input =
new
FileInputStream(
"D:\\GFG.png"
);
// create a image
Image image =
new
Image(input);
// create a image View
ImageView imageview =
new
ImageView(image);
// create a box blur effect
BoxBlur box_blur =
new
BoxBlur();
// set width
box_blur.setWidth(
10
.0f);
// set height
box_blur.setHeight(
10
.0f);
// set Iterations
box_blur.setIterations(
3
);
// set effect
imageview.setEffect(box_blur);
// create a VBox
VBox vbox =
new
VBox(imageview);
// create a scene
Scene scene =
new
Scene(vbox,
200
,
200
);
// set the scene
stage.setScene(scene);
stage.show();
}
// Main Method
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
Imagen de entrada:
Producción:
Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea. Utilice un compilador fuera de línea.
Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/effect/BoxBlur.html
Publicación traducida automáticamente
Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA