简单的图像旋转

时间:2012-06-22 09:27:01

标签: java image user-interface java-2d

我正在用Java制作游戏。我从外太空看到了一颗行星,我想让它看起来像行星正在缓慢旋转。但我不知道如何旋转图像。我需要一个简单的命令,将我的图像绕其自己的中心旋转一度。有什么帮助吗?


这就是我想要做的: Image

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您所描述的不是旋转图像,而是更改图像以表示图像中对象的3D旋转。

理想情况下,您不会将此作为图像使用,而是将其作为具有不同摄像机角度的3D对象。然后,您只需围绕对象旋转相机,并将结果图像显示给用户。

但是,如果您将此作为图像设置,那么您需要创建一个表示行星各种旋转状态的不同图像,并且有一个单独的线程可以用下一个依次替换显示的图像,每隔一段时间。在网上搜索“java图像动画” - 有很多关于如何做到这一点的教程。

如果要在2d空间中旋转图像,可以使用以下内容:

Image image = ...
Graphics2D g2d = ...; // 
g2d.translate(170, 0); // If needed
g2d.rotate(1);  // Rotate the image by 1 radian
//or g2d.rotate(180.0/3.14); to rotate by 1 degree
g2d.drawImage(image, 0, 0, 200, 200, observer);