MotionBlur es una parte de JavaFX. La clase MotionBlur implementa el efecto de desenfoque de movimiento utilizando un núcleo de convolución gaussiana, con un radio y un ángulo configurables. La clase MotionBlur hereda la clase Effect .
Constructores de la clase:
- MotionBlur() : Crea un nuevo objeto de MotionBlur.
- MotionBlur (doble a, doble r) : crea un nuevo objeto de MotionBlur con ángulo y radio especificados.
Métodos comúnmente utilizados:
Método | Explicación |
---|---|
obtenerÁngulo() | Devuelve el ángulo del objeto MotionBlur |
obtenerRadio() | Devuelve el radio del objeto MotionBlur |
obtenerEntrada() | Devolver la entrada del objeto MotionBlur |
establecerángulo(doble v) | Establece el ángulo del objeto MotionBlur |
obtenerRadio(doble v) | Establecer el radio del objeto MotionBlur |
setInput(Efecto v) | Establece la entrada del objeto MotionBlur |
Los siguientes programas ilustran el uso de la clase MotionBlur:
- Programa Java para importar una imagen y agregarle el efecto Motion 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 MotionBlur con un nivel específico 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 Motion 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
motion_blur_1
extends
Application {
// launch the application
public
void
start(Stage stage)
throws
Exception
{
// set title for the stage
stage.setTitle(
"MotionBlur 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 Motion blur effect
MotionBlur motion_blur =
new
MotionBlur();
// set effect
imageview.setEffect(motion_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:
- Programa Java para importar una imagen y agregarle un efecto de desenfoque de movimiento con un ángulo y un radio especificados: 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 MotionBlur con un nivel específico que se pasa como parámetro y el efecto se establece en la vista de la imagen mediante la función setEffect() . El radio y el ángulo para el desenfoque de movimiento se especifican usando setRadius()y la función setAngle() .
// Java program to import an image and
// add Motion Blur effect to it with
// specified angle and radius
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
motion_blur_2
extends
Application {
// launch the application
public
void
start(Stage stage)
throws
Exception
{
// set title for the stage
stage.setTitle(
"MotionBlur 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 Motion blur effect
MotionBlur motion_blur =
new
MotionBlur();
// set Radius
motion_blur.setRadius(
25
.0f);
// set angle
motion_blur.setAngle(
400
.0f);
// set effect
imageview.setEffect(motion_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:
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/MotionBlur.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