Используя «Аффинированное преобразование», я могу легко поворачивать imageA
. Кроме того, imageA
будет двигаться вместе с imageB
. Тем не менее, я не могу найти способ переместить imageA
в исходное положение после того, как я его повернул.Вращающееся изображение (возвращая его в исходное положение)
(я сделал некоторые исследования на некоторых сайтах и по-видимому, лучший способ, чтобы переместить изображение в исходное положение, так что она выглядит как его вращающийся от точки привязки.)
Heres мой код до сих пор :
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
), что бы очень полезно!
Посмотрите, помогает ли этот [пример] (http://stackoverflow.com/a/3420651/230513). – trashgod
Я посмотрел на это, но код вращает всю панель, я просто хочу повернуть 1 Изображение (которое связано с другим, аналогичное танку и его руке) на фиксированной точке вращения. – Kenny