私はイメージの上に座っている長方形を回転しようとしています。 Imageを表示するScrollableクラスがあります。画像の上に長方形を描くことができます。私の問題は、イメージが回転しているときに長方形を回転しようとしています。長方形が失われ、間違った場所に配置されます。Javaでアンカー/ローテーションポイントを見つける方法は?
私は既にGraphics2D、AffineTransform、createTransformedShape()を訴えていますが、運はありません。
ここでやろうとしているのは、矩形を手動で回転させることです。私は式の下に使用して、Rectangleポイント(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と値を見つけることができますか? Image heightを2でダイビングしようとしましたが、すべての回転角度で動作しません。 JPanelの幅と高さなどを取得する必要がありますか? Javaがアンカーポイントを見つけるために使用する数式はありますか?