Efectos JavaFX - Entrada de imagen

El efecto de entrada de imagen en JavaFX simplemente incrusta una imagen en la pantalla de JavaFX. Al igual que en el efecto Entrada de color, se utiliza para pasar la región rectangular coloreada especificada como entrada a otro efecto. Un efecto de entrada de imagen se utiliza para pasar la imagen especificada como entrada a otro efecto.

Al aplicar este efecto, la imagen especificada no se modificará. Este efecto se aplica a cualquier nodo.

La clase nombrada ImageInput del paquete javafx.scene.effect representa el efecto de entrada de imagen, esta clase contiene tres propiedades, que son:

  • x- Esta propiedad es de tipo Double; representa la coordenada x de la posición de la imagen de origen.

  • y- Esta propiedad es de tipo Double; representa la coordenada y de la posición de la imagen de origen.

  • source- su propiedad es de tipo Imagen; representa una imagen que se utilizará como fuente a tal efecto. (Pasado como entrada)

Ejemplo

El siguiente programa es un ejemplo que demuestra el efecto de entrada de imagen. Aquí, estamos creando una entrada de imagen en la posición 150, 100 y tomando la siguiente imagen (logo de tutorialspoint) como fuente para este efecto.

Estamos creando un rectángulo y aplicándole este efecto. Guarde este código en un archivo con el nombreImageInputEffectExample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.effect.ImageInput; 
import javafx.scene.image.Image; 
import javafx.scene.shape.Rectangle; 
import javafx.stage.Stage; 
         
public class ImageInputEffectExample extends Application { 
   @Override  
   public void start(Stage stage) {       
      //Creating an image 
      Image image = new Image("http://www.tutorialspoint.com/green/images/logo.png"); 
             
      //Instantiating the Rectangle class 
      Rectangle rectangle = new Rectangle(); 
     
      //Instantiating the ImageInput class 
      ImageInput imageInput = new ImageInput(); 
      
      //Setting the position of the image
      imageInput.setX(150); 
      imageInput.setY(100);       
      
      //Setting source for image input  
      imageInput.setSource(image); 
       
      //Applying image input effect to the rectangle node 
      rectangle.setEffect(imageInput);    
         
      //Creating a Group object  
      Group root = new Group(rectangle);   
               
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300);  
      
      //Setting title to the Stage 
      stage.setTitle("Sample Application"); 
         
      //Adding scene to the stage 
      stage.setScene(scene); 
         
      //Displaying the contents of the stage 
      stage.show();         
   } 
   public static void main(String args[]){ 
      launch(args); 
   } 
}

Compile y ejecute el archivo java guardado desde el símbolo del sistema utilizando los siguientes comandos.

javac ImageInputEffectExample.java 
java ImageInputEffectExample

Al ejecutarse, el programa anterior genera una ventana JavaFX como se muestra a continuación.