gpt4 book ai didi

java - 如何在 Java 中找到 anchor /旋转点?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:38:31 27 4
gpt4 key购买 nike

好的,我一直在尝试旋转位于图像顶部的矩形。我有一个显示图像的 Scrollable 类。我可以在图像上绘制矩形。我的问题是在旋转图像时尝试旋转矩形。矩形丢失并放置在错误的位置。

我已经尝试起诉 Graphics2D、AffineTransform、createTransformedShape() 但没有成功。

我现在要做的是手动旋转矩形。我正在尝试使用以下公式获取 Rectangle Point(x,y):

double rectX = (Math.cos(Math.toRadians(90)) * (x - anchorX) - Math.sin(Math.toRadians(90)) * (y - anchorY)) + anchorY;

double rectY = (Math.sin(Math.toRadians(90)) * (x - anchorX) - Math.cos(Math.toRadians(90)) * (y - anchorY)) + anchorY;

如何使用 Java 找到 anchorX 和 anchorY 值?我试过将图像高度降低 2,但不适用于所有旋转角度。我是否必须获得 JPanel 的宽度和高度之类的东西?是否有 Java 用于查找 anchor 的公式?

最佳答案

我不确定目标,但我看到了两种可能的替代方法:

  • 使用逆变换,如图here .

  • 将直立图像和矩形渲染成 BufferedImage并旋转合成图像,如图所示here .

关于java - 如何在 Java 中找到 anchor /旋转点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5341758/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com