JavaFX - 缩放变换
要更改对象的大小,可使用缩放变换。在缩放过程中,您可以扩展或压缩对象的尺寸。可以通过将对象的原始坐标乘以缩放因子来实现缩放,以获得所需的结果。
示例
以下是演示 JavaFX 中缩放的程序。在这里,我们在同一位置创建 2 个圆圈(节点),它们具有相同的尺寸,但颜色不同(Blurywood 和 Blue)。我们还对蓝色圆圈应用了缩放变换。
将此代码保存在名为 ScalingExample.java 的文件中。
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.paint.Color; import javafx.scene.shape.Circle; import javafx.scene.transform.Scale; import javafx.stage.Stage; public class ScalingExample extends Application { @Override public void start(Stage stage) { //绘制圆1 Circle circle1 = new Circle(300, 135, 50); //设置圆的颜色 circle1.setFill(Color.BLUE); //设置圆的描边宽度 circle1.setStrokeWidth(20); //绘制圆2 Circle circle2 = new Circle(300, 135, 50); //设置圆的颜色 circle2.setFill(Color.BURLYWOOD); //设置圆的描边宽度 circle2.setStrokeWidth(20); //创建缩放变换 Scale scale = new Scale(); //设置变换的尺寸 scale.setX(1.5); scale.setY(1.5); //设置变换的枢轴点 scale.setPivotX(300); scale.setPivotY(135); //将缩放变换添加到 circle1 circle1.getTransforms().addAll(scale); //创建一个 Group 对象 Group root = new Group(circle1, circle2); //创建一个 scene 对象 Scene scene = new Scene(root, 600, 300); //将标题设置为 Stage stage.setTitle("缩放变换示例"); //将场景添加到舞台(Stage) stage.setScene(scene); //显示舞台(Stage)的内容 stage.show(); } public static void main(String args[]){ launch(args); } }
使用以下命令从命令提示符编译并执行保存的 java 文件。
javac ScalingExample.java java ScalingExample
执行时,上述程序会生成如下所示的 JavaFX 窗口。