我想旋转一个JavaFX矩形。但是当我旋转它并尝试得到它的X和Y时,这和之前的X和Y相同。我使用这段代码:`
Rectangle r = new Rectangle(100,100,40,40);
r.getX();
r.getY();
r.setRotate(85);
r.getX();
r.getY(); `
getX()和getY()在rotate方法之前和之后返回相同的结果。 所以我的问题是如何才能在他的新位置获得左上角的X和Y. 这是一个例子: enter image description here
答案 0 :(得分:1)
我不了解javafx,但我认为当你旋转物体时,你不会改变它的X和Y位置。也许你应该使用类似r.getRotate()
的东西。
答案 1 :(得分:0)
使用localToParent
将节点转换应用于要检索的坐标,而不是使用未转换的坐标:
Point2D transformedPoint = r.localToParent(r.getX(), r.getY());
BTW:rotate
属性围绕节点的中心旋转。您不会在图像中得到结果(特别是不能旋转85°)。