JavaFX 效果 - 方框模糊
一般来说,模糊意味着变得不清晰,将模糊效果应用于节点后,节点就会变得不清晰。方框模糊是 JavaFX 提供的一种模糊效果。在此效果中,要将模糊应用于节点,需要使用一个简单的方框过滤器。
包 javafx.scene.effect 中名为 BoxBlur 的类表示 BoxBlur 效果,此类包含四个属性,即 −
height − 此属性为 double 类型,表示效果的垂直大小。
width − 此属性为 double 类型,表示效果的水平大小。
input −此属性属于效果类型,它表示 BoxBlur 效果的输入。
迭代次数 − 此属性属于整数类型,表示要应用于节点的效果迭代次数。这样做是为了提高其质量或平滑度。
示例
以下是演示框模糊效果的示例。在这里,我们绘制用 DARKSEAGREEN 颜色填充的文本"Welcome to Tutorialspoint",并对其应用框模糊效果。
将此代码保存在名为 BoxBlurEffectExample.java 的文件中。
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.effect.BoxBlur; import javafx.scene.paint.Color; import javafx.stage.Stage; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; public class BoxBlurEffectExample extends Application { @Override public void start(Stage stage) { //创建 Text 对象 Text text = new Text(); //设置文本的字体 text.setFont(Font.font(null, FontWeight.BOLD, 40)); //设置文本的位置 text.setX(60); text.setY(150); //设置要添加的文本。 text.setText("Welcome to Tutorialspoint"); //设置文本的颜色 text.setFill(Color.DARKSEAGREEN); //实例化 BoxBlur 类 BoxBlur boxblur = new BoxBlur(); //设置框过滤器的宽度 boxblur.setWidth(8.0f); //设置框过滤器的高度 boxblur.setHeight(3.0f); //设置迭代次数 boxblur.setIterations(3); //将 BoxBlur 效果应用于文本 text.setEffect(boxblur); //创建一个 Group 对象 Group root = new Group(text); //创建一个 scene 对象 Scene scene = new Scene(root, 600, 300); //为 Stage 设置标题 stage.setTitle("Sample Application"); //将场景添加到舞台(Stage) stage.setScene(scene); //显示舞台(Stage)的内容 stage.show(); } public static void main(String args[]){ launch(args); } }
使用以下命令从命令提示符编译并执行保存的 java 文件。
javac BoxBlurEffectExample.java java BoxBlurEffectExample
执行时,上述程序将生成一个 JavaFX 窗口,如下所示。