使用“仿射变换”我可以轻松旋转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
)那会非常有帮助!
看看这个[示例](http://stackoverflow.com/a/3420651/230513)有帮助。 – trashgod
我看了一遍,但代码旋转了整个面板,我只想旋转1个图像(连接到另一个;类似于坦克和它的手臂)在一个固定的旋转点上。 – Kenny