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 窗口。

javafx_transformations.html