JavaFX | Clase de desenfoque de movimiento

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:

  1. MotionBlur() : Crea un nuevo objeto de MotionBlur.
  2. 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:

  1. 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:

    Producción:

  2. 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:

    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/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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *