Efectos JavaFX - Bloom

Al aplicar el efecto de floración, los píxeles de algunas partes del nodo se hacen brillar.

La clase nombrada Bloom del paquete javafx.scene.effectrepresenta el efecto de floración. Esta clase contiene dos propiedades, que son:

  • input - Esta propiedad es del tipo Effect y representa una entrada al efecto bloom.

  • threshold- Esta propiedad es del tipo double; esto representa un valor umbral de luminosidad de los píxeles del nodo. Todos aquellos píxeles que tienen una luminosidad mayor que igual a este valor se hacen brillar. El rango del valor umbral es de 0,0 a 1,0.

Ejemplo

A continuación se muestra un ejemplo que demuestra el efecto de floración. Dibujaremos un texto “Bienvenido a Tutorialspoint” y le aplicaremos el efecto de floración con un valor de umbral 1.0.

Guarde este código en un archivo con el nombre BloomEffectExample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.effect.Bloom; 
import javafx.scene.paint.Color; 
import javafx.scene.shape.Rectangle; 
import javafx.stage.Stage; 
import javafx.scene.text.Font; 
import javafx.scene.text.FontWeight; 
import javafx.scene.text.Text; 
         
public class BloomEffectExample 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 embedded. 
      text.setText("Welcome to Tutorialspoint");       
      
      //Setting the color of the text 
      text.setFill(Color.DARKSEAGREEN);
      
      //Instantiating the Rectangle class 
      Rectangle rectangle = new Rectangle(); 
      
      //Setting the position of the rectangle 
      rectangle.setX(50.0f); 
      rectangle.setY(80.0f); 
      
      //Setting the width of the rectangle 
      rectangle.setWidth(500.0f); 
      
      //Setting the height of the rectangle 
      rectangle.setHeight(120.0f); 
      
      //Setting the color of the rectangle 
      rectangle.setFill(Color.TEAL); 
       
      //Instantiating the Bloom class 
      Bloom bloom = new Bloom(); 
      
      //setting threshold for bloom 
      bloom.setThreshold(0.1); 
      
      //Applying bloom effect to text 
      text.setEffect(bloom);          
         
      //Creating a Group object  
      Group root = new Group(rectangle, 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); 
   } 
}

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

javac BloomEffectExample.java 
java BloomEffectExample

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