Effetti JavaFX - Sfocatura gaussiana

Proprio come Box Blur, Gaussian è un effetto per sfocare i nodi in JavaFX. L'unica differenza è che inGaussian Blur Effect, viene utilizzato un kernel di convoluzione gaussiana per produrre l'effetto di sfocatura.

La classe denominata GaussianBlur del pacchetto javafx.scene.effect rappresenta l'effetto sfocatura gaussiana, questa classe contiene due proprietà, che sono:

  • input - Questa proprietà è del tipo Effect e rappresenta un input per l'effetto box blur.

  • radius - Questa proprietà è di tipo doppio che rappresenta il raggio con cui il Gaussian Blur effectdeve essere applicato. L'effetto sfocatura è direttamente proporzionale al raggio.

Esempio

Il seguente programma è un esempio che mostra l'effetto di sfocatura gaussiana. In questo, stiamo disegnando un testo "Benvenuti in Tutorialspoint" riempito con il colore DARKSEAGREEN e applicandovi l'effetto Gaussian Blur.

Salva questo codice in un file con il nome GaussianBlurEffectExample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.paint.Color; 
import javafx.stage.Stage; 
import javafx.scene.text.Font; 
import javafx.scene.text.FontWeight; 
import javafx.scene.text.Text; 
import javafx.scene.effect.GaussianBlur; 
         
public class GaussianBlurEffectExample extends Application { 
   @Override 
   public void start(Stage stage) {       
      //Creating a Text object 
      Text text = new Text();       
      
      //Setting font to the text 
      text.setFont(Font.font(null, FontWeight.BOLD, 40));       
      
      //setting the position of the text 
      text.setX(60); 
      text.setY(150);         
      
      //Setting the text to be added. 
      text.setText("Welcome to Tutorialspoint");       
      
      //Setting the color of the text 
      text.setFill(Color.DARKSEAGREEN);  
       
      //Instantiating the GaussianBlur class
      GaussianBlur gaussianBlur = new GaussianBlur();       
      
      //Setting the radius to apply the Gaussian Blur effect  
      gaussianBlur.setRadius(10.5); 
       
      //Applying Gaussian Blur effect to the text 
      text.setEffect(gaussianBlur);        
         
      //Creating a Group object  
      Group root = new Group(text);   
               
      //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 GaussianBlurEffectExample.java 
java GaussianBlurEffectExample

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