【发布时间】:2019-09-12 02:48:05
【问题描述】:
假设您在容器中有一个多边形,并且您希望在创建该容器时将其缩放到容器中。您为该容器创建宽度和高度,并且您已经定义了一个多边形,并包含在其中。现在您希望该多边形始终具有与其所在容器相同的宽度和高度。
【问题讨论】:
标签: java javafx scale polygon javafx-11
假设您在容器中有一个多边形,并且您希望在创建该容器时将其缩放到容器中。您为该容器创建宽度和高度,并且您已经定义了一个多边形,并包含在其中。现在您希望该多边形始终具有与其所在容器相同的宽度和高度。
【问题讨论】:
标签: java javafx scale polygon javafx-11
你就是这样解决的:
private void makePolyScale(int height, int width) {
Scale scale = new Scale ();
scale.setX(width/BASE_WIDTH);
scale.setY(height/BASE_HEIGHT);
scale.setPivotX(this.body.getBoundsInParent().getCenterX());
scale.setPivotY(this.body.getBoundsInParent().getCenterY());
body.getTransforms().addAll(scale);
}
base width 和 baseheight 是多边形的高度和宽度。您可以从您的双点数组中计算出来(只需找到 minmax x/y 并从相应 x 和 y 的最大值中减去最小值)
width 和 height 是父容器的宽度和高度。
【讨论】: