JavaFX - Effetti
Un effetto è qualsiasi azione che migliora l'aspetto della grafica. In JavaFX, un effetto è un algoritmo che viene applicato ai nodi per migliorarne visivamente l'aspetto. La proprietà effetto diNode class viene utilizzato per specificare l'effetto.
In JavaFX, puoi impostare vari effetti su un nodo come bloom, blur e glow. Ciascuno di questi effetti è rappresentato da una classe e tutte queste classi sono disponibili in un pacchetto denominatojavafx.scene.effect.
Applicazione di effetti a un nodo
È possibile applicare un effetto a un nodo utilizzando il setEffect()metodo. A questo metodo, è necessario passare l'oggetto dell'effetto.
Per applicare un effetto a un nodo, è necessario:
Crea il nodo.
Istanziare la rispettiva classe dell'effetto che è necessario applicare.
Imposta le proprietà dell'effetto.
Applicare l'effetto al nodo utilizzando il setEffect() metodo.
Creazione dei nodi
Prima di tutto, crea i nodi in un'applicazione JavaFX istanziando le rispettive classi.
Ad esempio, se desideri applicare l'effetto bagliore a un'immagine nella tua applicazione. Innanzitutto, è necessario creare un nodo immagine istanziando la classe Image e impostarne la visualizzazione come mostrato di seguito.
//Creating an image
Image image = new Image("https://www.tutorialspoint.com/green/images/logo.png");
//Setting the image view
ImageView imageView = new ImageView(image);
//Setting the position of the image
imageView.setX(100);
imageView.setY(70);
//setting the fit height and width of the image view
imageView.setFitHeight(200);
imageView.setFitWidth(400);
//Setting the preserve ratio of the image view
imageView.setPreserveRatio(true);
Istanziare la rispettiva classe
Istanziare la classe che rappresenta l'effetto che è necessario applicare al nodo creato.
Ad esempio: per applicare l'effetto bagliore, è necessario istanziare il file Glow classe come mostrato nella casella del codice seguente:
Glow glow = new Glow();
Impostazione delle proprietà dell'effetto
Dopo aver istanziato la classe, è necessario impostare le proprietà dell'effetto utilizzando i suoi metodi setter.
Ad esempio: per disegnare un riquadro tridimensionale, è necessario passarne la larghezza, l'altezza e la profondità. È possibile specificare questi valori utilizzando i rispettivi metodi di impostazione come mostrato di seguito:
//setting the level property
glow.setLevel(0.9);
Aggiunta di effetti al nodo
Infine, puoi applicare l'effetto richiesto al nodo utilizzando il setEffect()metodo. Ad esempio: per impostare l'effetto bagliore sul nodo dell'immagine, è necessario passare l'oggetto della classe Glow a questo metodo come segue:
imageView.setEffect(glow);
JavaFX Effects- La tabella seguente fornisce l'elenco dei vari effetti (classi) forniti da JavaFX. Queste classi esistono nel pacchetto chiamatojavafx.scene.effect.
S.No | Forma e descrizione |
---|---|
1 | Regolazione del colore È possibile regolare il colore di un'immagine applicandovi l'effetto di regolazione del colore. Ciò include la regolazione delhue, saturation, brightness e contrast su ogni pixel La classe denominata ColorAdjust del pacchetto javafx.scene.effect rappresenta l'effetto di regolazione del colore. |
2 | Input colore Effetto input colore fornisce lo stesso risultato del disegno di un rettangolo e del riempimento con il colore. A differenza di altri effetti, se questo effetto viene applicato a qualsiasi nodo, visualizza solo un riquadro rettangolare (non il nodo). Questo effetto viene utilizzato principalmente per passare come input per altri effetti. La classe denominata ColorInput del pacchetto javafx.scene.effect rappresenta l'effetto di input del colore. |
3 | Input immagine L'effetto di input dell'immagine in JavaFX incorpora semplicemente un'immagine nella schermata JavaFX. Proprio come l'effetto Input colore (viene utilizzato per trasferire la regione rettangolare colorata specificata come input per un altro effetto), l'effetto Input immagine viene utilizzato per passare l'immagine specificata come input a un altro effetto. La classe denominata ImageInput del pacchetto javafx.scene.effect rappresenta l'effetto Input immagine. |
4 | Miscela In generale, miscela significa miscela di due o più cose o sostanze diverse. Se applichiamo questo effetto di fusione, prende i pixel di due diversi input, nella stessa posizione e produce un output combinato basato sulblend mode. La classe denominata Blend del pacchetto javafx.scene.effect rappresenta l'effetto di fusione. |
5 | fioritura Applicando l'effetto sbavatura, i pixel in alcune parti del nodo si illuminano. La classe denominata Bloom del pacchetto javafx.scene.effect rappresenta l'effetto bloom. |
6 | Bagliore Proprio come Bloom, l'effetto Bagliore fa risplendere l'immagine in ingresso, questo effetto rende più luminosi i pixel luminosi dell'input. La classe denominata Glow del pacchetto javafx.scene.effect rappresenta l'effetto bagliore. |
7 | Box Blur Applicando questo effetto di sfocatura a un nodo, non è chiaro. La sfocatura del riquadro è una sorta di effetto sfocatura fornito da JavaFX. In questo effetto, quando applichiamo la sfocatura a un nodo, viene utilizzato un semplice filtro a riquadro. La classe denominata BoxBlur del pacchetto javafx.scene.effect rappresenta l'effetto boxblur. |
8 | Sfocatura gaussiana Proprio come Box Blur Gaussian è un effetto per sfocare i nodi in JavaFX. L'unica differenza inGaussian Blur effect è che un kernel di convoluzione gaussiana viene utilizzato per produrre un effetto di sfocatura. La classe denominata GaussianBlur del pacchetto javafx.scene.effect rappresenta l'effetto Gaussian Blur. |
9 | Sfocatura movimento Proprio come gli effetti gaussiani, Motion Blur è un effetto per sfocare i nodi in JavaFX. Utilizza anche un kernel di convoluzione gaussiana per produrre un effetto di sfocatura, ma la differenza è che in questo effetto il kernel di convoluzione gaussiana viene utilizzato con un angolo specificato. La classe denominata MotionBlur del pacchetto javafx.scene.effect rappresenta l'effetto Motion Blur. |
10 | Riflessione Applicando l'effetto di riflessione a un nodo in JavaFX, viene aggiunto un riflesso nella parte inferiore del nodo. La classe denominata Reflection del pacchetto javafx.scene.effect rappresenta l'effetto di riflessione. |
11 | Seppia Applicando l'effetto tonalità seppia a un nodo in JavaFX (immagine in generale), viene modificato con un colore marrone rossastro. La classe denominata SepiaTone del pacchetto javafx.scene.effect rappresenta l'effetto seppia. |
12 | Ombra Questo effetto crea un duplicato del nodo specificato con bordi sfocati. La classe denominata Shadow del pacchetto javafx.scene.effect rappresenta l'effetto seppia. |
13 | DropShadow Applicando questo effetto a un nodo, verrà creata un'ombra dietro il nodo specificato. La classe denominata DropShadow del pacchetto javafx.scene.effect rappresenta l'effetto ombra esterna. |
14 | Ombra interiore Applicando questo effetto a un nodo, verrà creata un'ombra all'interno dei bordi del nodo. La classe denominata InnerShadow del pacchetto javafx.scene.effect rappresenta l'effetto ombra interna. |
15 | Illuminazione L'effetto luminoso viene utilizzato per simulare una luce da una sorgente luminosa. Esistono diversi tipi di sorgenti luminosepoint, distant e spot. La classe denominata Lighting del pacchetto javafx.scene.effect rappresenta l'effetto luminoso. |
16 | Leggero, distante Applicando questo effetto a un nodo, su di esso viene simulata una luce, come se fosse generata da una sorgente luminosa distante. Distant Light Source- Una sorgente che è molto distante dal nodo. Qui la luce è attenuata in una direzione dalla sorgente. La classe denominata Light.Distant del pacchetto javafx.scene.effect rappresenta la sorgente di luce distante. |
17 | Luce.Spot Applicando questo effetto a un nodo, su di esso viene simulata una luce, come se fosse generata da un punto luce. Spot light Source- La luce proveniente da questa sorgente si attenua in tutte le direzioni. L'intensità della luce dipende dalla distanza dell'oggetto dalla sorgente. La classe denominata Light.Spot del pacchetto javafx.scene.effect rappresenta la sorgente di luce distante. |
18 | Point.Spot Applicando questo effetto a un nodo, su di esso viene simulata una luce, come se fosse generata da una sorgente di luce puntiforme. Point Light Source- La luce proveniente da questa sorgente si attenua in tutte le direzioni da un unico punto. L'intensità della luce dipende dalla distanza dell'oggetto dalla sorgente. La classe denominata Point.Spot del pacchetto javafx.scene.effect rappresenta il punto luce. |