「アフィン変換」を使えばimageA
簡単に回転できます。同様に、imageA
と一緒に移動しimageB
ます。imageA
しかし、回転させた後、元の位置に戻す方法が見つからないようです。
(私はいくつかのサイトでいくつかの調査を行いましたが、明らかに最良の方法は、アンカーポイントから回転しているように見えるように画像を元の位置に戻すことです。)
これまでの私のコードは次のとおりです。
public void paintComponent(Graphics g) {
super.paintComponent(g);
AffineTransform af = new AffineTransform();
Graphics2D g2d = (Graphics2D) g;
af.translate(imageBx, imageBy); // moves ImageA to imageb's position
af.rotate(Math.toRadians(angle), imageB.getHeight(this) / 2, imageB.getWidth(this) / 2);
g2d.drawImage(imageA, af, null);
g2d.drawImage(imageB, imageBx, imageBy, null);
}
誰かが私がimageA
元の位置(正しい位置にある)に戻るのを手伝ってくれるならimageB
、それは非常に役に立ちます!