JavaFx | Clase de desenfoque gaussiano

GaussianBlur es parte de JavaFX. GaussianBlur es una implementación de un efecto de desenfoque que utiliza un kernel de convolución gaussiana, con un radio configurable.

Constructores de la clase:

  1. GaussianBlur() : Crea un nuevo objeto de GaussianBlur.
  2. GaussianBlur (doble r) : crea un nuevo objeto de GaussianBlur con un radio especificado.

Métodos comúnmente utilizados:

Método Explicación
obtenerRadio() Devuelve el valor de la propiedad radio.
obtenerEntrada() Devuelve el valor de la propiedad de entrada.
setInput(Valor del efecto) Establece el valor de la propiedad de entrada.
setRadius(doble valor) Establece el valor de la propiedad radio.

Los siguientes programas ilustran el uso de la clase GaussianBlur:

  1. Programa Java para importar una imagen y agregarle el efecto GaussianBlur: 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 GaussianBlur con un nivel específico pasado como parámetros y el efecto se establece en la vista de la imagen mediante la función setEffect() .

    // Java program to import an image 
    // and add Gaussian 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 gaussian_blur_1 extends Application {
      
        // launch the application
        public void start(Stage stage) throws Exception
        {
      
            // set title for the stage
            stage.setTitle("GussianBlur 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 gaussian blur effect
            GaussianBlur gaussian_blur = new GaussianBlur();
      
            // set effect
            imageview.setEffect(gaussian_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 el efecto GaussianBlur con un radio específico: 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 GaussianBlur con un nivel específico pasado como parámetros y el efecto se establece en la vista de la imagen mediante la función setEffect() . El radio de GaussianBlur se especifica mediante la función setRadius() .

    // Java program to import an image and
    // add Gaussian Blur effect to it with
    // a specified 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 gaussian_blur_2 extends Application {
      
        // launch the application
        public void start(Stage stage) throws Exception
        {
      
            // set title for the stage
            stage.setTitle("GaussianBlur 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 gaussian blur effect
            GaussianBlur gaussian_blur = new GaussianBlur();
      
            // set radius for gaussian blur
            gaussian_blur.setRadius(20.0f);
      
            // set effect
            imageview.setEffect(gaussian_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/GaussianBlur.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 *