Effetti JavaFX - Input immagine

L'effetto di input dell'immagine in JavaFX incorpora semplicemente un'immagine nella schermata JavaFX. Proprio come nell'effetto Input colore, viene utilizzato per passare la regione rettangolare colorata specificata come input a un altro effetto. Un effetto Input immagine viene utilizzato per passare l'immagine specificata come input a un altro effetto.

Applicando questo effetto, l'immagine specificata non verrà modificata. Questo effetto viene applicato a qualsiasi nodo.

La classe denominata ImageInput del pacchetto javafx.scene.effect rappresenta l'effetto Input immagine, questa classe contiene tre proprietà, che sono:

  • x- Questa proprietà è di tipo Double; rappresenta la coordinata x della posizione dell'immagine sorgente.

  • y- Questa proprietà è di tipo Double; rappresenta la coordinata y della posizione dell'immagine sorgente.

  • source- la sua proprietà è di tipo Immagine; rappresenta l'immagine che deve essere utilizzata come fonte in tal senso. (Passato come input)

Esempio

Il seguente programma è un esempio che dimostra l'effetto di input dell'immagine. Qui stiamo creando un input di immagine nella posizione 150, 100 e prendendo la seguente immagine (logo tutorialspoint) come fonte per questo effetto.

Stiamo creando un rettangolo e applicandovi questo effetto. Salva questo codice in un file con il nomeImageInputEffectExample.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); 
   } 
}

Compilare ed eseguire il file java salvato dal prompt dei comandi utilizzando i seguenti comandi.

javac ImageInputEffectExample.java 
java ImageInputEffectExample

All'esecuzione, il programma di cui sopra genera una finestra JavaFX come mostrato di seguito.