JavaFX | Clase de reflexión

La clase Reflection es parte de JavaFX. La clase Reflection se usa para agregar una imagen reflejada debajo de la imagen real del valor de entrada. La imagen reflejada no responderá a los eventos del mouse ni a los métodos de contención en la entrada.

Constructores de la clase:

  1. Reflection() : Crea un nuevo objeto de reflexión.
  2. Reflexión (doble desplazamiento superior, doble fracción, doble opacidad superior, doble opacidad inferior) : crea un nuevo objeto de reflexión con el desplazamiento superior, la fracción, la opacidad superior y la opacidad inferior especificados.

Métodos comúnmente utilizados:

Método Explicación
obtenerOpacidadInferior() Devuelve el valor de bottomOpacity
getTopOpacity() Devuelve el valor de topOpacity
obtenerFracción() Devuelve la fracción que la imagen reflejada es de la imagen real
obtenerDesplazamientoSuperior() Devuelve el valor del desplazamiento superior
obtenerEntrada() Devuelve el valor de la entrada de la propiedad.
setBottomOpacity(doble v) Establece el valor de bottomOpacity
setTopOpacity(doble v) Establece el valor de topOpacity
setFraction(doble v) Establece la fracción que la imagen reflejada es de la imagen real
setTopOffset(doble v) Establece el valor del desplazamiento superior
setInput(Efecto v) Establece el valor de la propiedad de entrada

Los siguientes programas ilustran el uso de la clase Reflection:

  1. Programa Java para agregar un reflejo a la imagen usando la clase de reflejo: En este programa se crea un FileInputStream y se toma una imagen como entrada de un archivo. Se crea una imagen denominada Imagen 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 de reflejo y el efecto se establece en la vista de la imagen mediante la función setEffect() .

    // Java program to add a reflection to 
    // the image using the reflection class
    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 reflection_1 extends Application {
      
        // launch the application
        public void start(Stage stage) throws Exception
        {
      
            // set title for the stage
            stage.setTitle("reflection 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 reflection effect
            Reflection reflection = new Reflection();
      
            // set effect
            imageview.setEffect(reflection);
      
            // 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);
        }
    }

    Producción:

  2. Programa Java para agregar un reflejo a la imagen usando la clase de reflejo y establecer el desplazamiento superior, la opacidad superior, la opacidad inferior y la fracción de la imagen que aparecerá como un reflejo: 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 de reflejo y el efecto se establece en la vista de la imagen mediante la función setEffect() . La opacidad inferior, la opacidad superior, el desplazamiento superior y la fracciónse configuran mediante las funciones setBottomOpacity(), setTopOpacity(), setFraction() y setTopOffset() respectivamente.

    // Java program to add a reflection to the image
    // using the reflection class and set the top 
    // offset, top opacity bottom opacity and fraction
    // of image which will appear as reflection
    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 reflection_2 extends Application {
      
        // launch the application
        public void start(Stage stage) throws Exception
        {
      
            // set title for the stage
            stage.setTitle("reflection 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 reflection effect
            Reflection reflection = new Reflection();
      
            // set fraction
            reflection.setFraction(0.6);
      
            // set top Opacity
            reflection.setTopOpacity(0.3);
      
            // set bottom Opacity
            reflection.setBottomOpacity(0.1);
      
            // set top offset
            reflection.setTopOffset(0.5);
      
            // set effect
            imageview.setEffect(reflection);
      
            // 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);
        }
    }

    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/Reflection.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 *