我绘制一个坐标为(x = 100,y = 100,宽度= 200,高度= 100)的矩形。然后,我将矩形的形状绕中心旋转。
this.rotation.addListener((obs, old, fresh) -> {
Rotate rotate = new Rotate();
rotate.setAngle((double) fresh - (double) old);
rotate.setPivotX(x.getValue().doubleValue() + (width.getValue().doubleValue() / 2));
rotate.setPivotY(y.getValue().doubleValue() + (height.getValue().doubleValue() / 2));
shape.getTransforms().addAll(rotate);
});
现在如何找出形状的坐标?
答案 0 :(得分:2)
您可以使用m
方法将点从localToParent
的坐标系转换为父级的坐标系。
Rectangle
如果仅需要在显示Point2D topLeftInParent = shape.localToParent(shape.getX(), shape.getY());
的父级中设置x / y范围,则也可以使用Rectangle
:
getBoundsInParent
顺便说一句:我不建议您对每个更改添加新的转换。相反,我建议调整现有的旋转角度:
Bounds parentBounds = shape.getBoundsInParent();