好吧,我一直在试图旋转位于图像顶部的矩形。我有一个显示图像的Scrollable类。我可以在图像上绘制矩形。我的问题是在旋转图像时试图旋转矩形。矩形会丢失并放置在错误的位置。如何在Java中找到锚点/旋转点?
我已经尝试起诉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用来找到定位点的公式?