将 javafx 中的多边形缩放到它们的父级
Scale Polygons in javafx to their parent
假设您在一个容器中有一个多边形,并且您希望在创建该容器时将其缩放到该容器。您为该容器创建宽度和高度,并且您已经定义了一个多边形,并放置在其中。现在您希望该多边形始终与其所在的容器具有相同的宽度和高度。
你是这样解决的:
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 的最大值中减去最小值)
宽度和高度是父容器的宽度和高度。
假设您在一个容器中有一个多边形,并且您希望在创建该容器时将其缩放到该容器。您为该容器创建宽度和高度,并且您已经定义了一个多边形,并放置在其中。现在您希望该多边形始终与其所在的容器具有相同的宽度和高度。
你是这样解决的:
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 的最大值中减去最小值)
宽度和高度是父容器的宽度和高度。