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

JavaFX 获取旋转图像视图的角坐标?

JavaFX 获取旋转图像视图的角坐标?

HUH函数 2021-08-04 10:30:13
我正在做一个简单的模拟,并且在找到旋转的、大小奇怪的 imageView 节点的 X 和 Y 坐标时遇到了很多麻烦。(蓝色位是前面)目标是在 imageView 旋转后找出相对于 imageView 指向的方向的 XY 坐标。我可以找到 imageView 相对于其起始位置的角度,但我无法弄清楚如何获得 imageView 相对于该角度的 XY 坐标。由于 .setRotate(angle) 方法不会改变 imageView 的 X 和 Y 位置,我应该如何找到 imageView 面对的点?我正在使用的旋转和 imageView 的最小示例:主程序public class Main extends Application {    @Override    public void start(Stage primaryStage) {        Group root = new Group();        primaryStage.setScene(new Scene(root, 500, 500));        Image robotImage = null;        try {            robotImage = new Image(new FileInputStream("res\\robot.png"));        } catch (FileNotFoundException e) {            e.printStackTrace();        }        ImageView robot = new ImageView(robotImage);        robot.setLayoutX(125);        robot.setLayoutY(125);        System.out.println("PreRotate X: " + robot.getLayoutX() + "PreRotate Y: " + robot.getLayoutY());        robot.setRotate(45);        System.out.println("PostRotate X: " + robot.getLayoutX() + "PostRotate Y: " + robot.getLayoutY());        root.getChildren().add(robot);        primaryStage.show();    }    public static void main(String[] args) {        launch(args);    }}我已经尝试使用 imageView 的边界以及位于 imageView 顶部的线条,但这需要我在每次 imageView 更改其最大/最小 x/y 时找到新的最大/最小 x/y。我应该如何处理这个问题?我使用了错误的转换吗?我没有看到可以用于此的方法吗?我知道必须有更好的方法。谢谢阅读。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 226 浏览

添加回答

举报

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