Bloom Effect

The Bloom effect in JavaFX will make the pixels in some portions of the node are made to glow.

The class named Bloom of the package javafx.scene.effect represents the bloom effect. This class contains two properties, which are −

  • input − This property is of the type Effect and it represents an input to the bloom effect.
  • threshold − This property is of the type double; this represents a threshold value of luminosity of the pixels of the node. All those pixels having luminosity greater than equal to this value are made to glow. The range of the threshold value is 0.0 to 1.0.

Example

Following is an example demonstrating the bloom effect. We will be drawing a text “Welcome to Tutorialspoint” and applying the bloom effect to it with a threshold value 1.0.

Save this code in a file with the name BloomEffectExample.java.

importjavafx.application.Application;importjavafx.scene.Group;importjavafx.scene.Scene;importjavafx.scene.effect.Bloom;importjavafx.scene.paint.Color;importjavafx.scene.shape.Rectangle;importjavafx.stage.Stage;importjavafx.scene.text.Font;importjavafx.scene.text.FontWeight;importjavafx.scene.text.Text;publicclassBloomEffectExampleextendsApplication{@Overridepublicvoidstart(Stage stage){//Creating a Text object Text text =newText();//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 =newRectangle();//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 =newBloom();//setting threshold for bloom 
      bloom.setThreshold(0.1);//Applying bloom effect to text 
      text.setEffect(bloom);//Creating a Group object  Group root =newGroup(rectangle, text);//Creating a scene object Scene scene =newScene(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();}publicstaticvoidmain(String args[]){launch(args);}}

Compile and execute the saved java file from the command prompt using the following commands.

javac --module-path %PATH_TO_FX%--add-modules javafx.controls BloomEffectExample.java 
java --module-path %PATH_TO_FX%--add-modules javafx.controls BloomEffectExample

Output

On executing, the above program generates a JavaFX window as shown below.

Bloom Effect

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *