Javafx 简明教程
JavaFX - Bloom Effect
JavaFX 中的 Bloom 效果将导致节点某些区域的像素发光。
The Bloom effect in JavaFX will make the pixels in some portions of the node are made to glow.
包 javafx.scene.effect 中名为 Bloom 的类表示 Bloom 效果。此类包含两个属性,即 −
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
以下是演示 Bloom 效果的示例。我们将绘制文本“Welcome to Tutorialspoint”并用阈值 1.0 向其应用 Bloom 效果。
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.
将此代码保存在名为 BloomEffectExample.java 的文件中。
Save this code in a file with the name 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);
}
}
使用以下命令,从命令提示符编译并执行已保存的 java 文件。
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