为了账号安全,请及时绑定邮箱和手机立即绑定

javafx形状翻转后如何找到矩形的坐标

javafx形状翻转后如何找到矩形的坐标

BIG阳 2022-01-19 09:24:34
我用坐标(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);});现在如何找出形状的坐标?
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

您可以使用该localToParent方法将点从坐标系转换Rectangle到父坐标系。


Point2D topLeftInParent = shape.localToParent(shape.getX(), shape.getY());

如果您只需要Rectangle显示 的父级中的 x/y 范围,您还可以使用getBoundsInParent:


Bounds parentBounds = shape.getBoundsInParent();

顺便说一句:我不建议在每次更改时添加新的转换。相反,我建议调整现有的轮换:


Rotate rotate = new Rotate(0, shape.getX() + shape.getWidth()/2, shape.getX() + shape.getHeight()/2);

shape.getTransforms().add(rotate);

rotate.angleProperty().bind(this.rotation);


查看完整回答
反对 回复 2022-01-19
  • 1 回答
  • 0 关注
  • 146 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信