好的,我一直在尝试旋转位于图像上方的矩形。我有一个可滚动的类,用于显示图像。我可以在图像上方绘制矩形。我的问题是当图像旋转时尝试旋转矩形。矩形会丢失并放置在错误的位置。
我已经尝试使用Graphics2D、AffineTransform、createTransformedShape(),但没有成功。
现在我尝试手动旋转矩形。我正在尝试使用以下公式获取矩形点(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是否有一种公式来查找锚点?