Используя «Аффинное преобразование», я могу легко вращать 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
), это будет очень полезно!