将javafx中的多边形缩放为其父级

时间:2019-04-22 23:32:27

标签: java javafx scale polygon javafx-11

假设容器中有一个多边形,并且在创建该容器时要将其缩放到容器中。您为该容器创建了宽度和高度,并且已经有一个定义的多边形容纳在其中。现在,您希望该多边形始终与其所在的容器具有相同的宽度和高度。

1 个答案:

答案 0 :(得分:0)

这是解决问题的方法:

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);
}

基本宽度和基本高度是多边形的高度和宽度。您可以从双点数组中计算出该值(只需找到minmax x / y,然后从相应x和y的最大值中减去最小值即可)

width和height是父容器的宽度和高度。