Java 简单图像旋转

Java 简单图像旋转,java,image,user-interface,java-2d,Java,Image,User Interface,Java 2d,我正在用Java做一个游戏。我制作了一个从外太空看到的行星,我想让它看起来像行星在缓慢旋转。但我不知道如何旋转图像。我需要一个简单的命令,使我的图像围绕自己的中心旋转1度。有什么帮助吗 这就是我想做的: 您描述的不是旋转图像,而是更改图像以表示图像中对象的三维旋转 理想情况下,您不会将其作为图像处理,而是作为具有不同摄影机角度的3D对象处理。然后,您只需围绕对象旋转相机,并将结果图像显示给用户 然而,如果你把它作为一个图像来做,那么你需要创建一个不同的图像来代表你星球的各种旋转状态,并且有一个

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


这就是我想做的:

您描述的不是旋转图像,而是更改图像以表示图像中对象的三维旋转

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

然而,如果你把它作为一个图像来做,那么你需要创建一个不同的图像来代表你星球的各种旋转状态,并且有一个单独的线程,以重复的间隔,用序列中的下一个图像替换显示的图像。在网上搜索“java图像动画”-有很多关于如何实现这一点的教程

如果要在二维空间中旋转图像,可以使用以下方法:

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);

请看以下教程:


“简单的图像旋转”由“简单的”DYM用勺子将答案喂给你?你的前端是什么?html/html5/android/2dgraphics?使用仿射变换(假定为Java 2D)。下面是一个例子。它使用形状和面积,但原理是一样的。我看了你的例子,但这似乎会旋转整个图像。我不希望我的背景只旋转行星。正如我所见,我认为你误解了我。抱歉说得不够清楚。这就是我想做的:你的行星是不是与背景恒星场分开的图像?如果没有,那么您仍然必须按照我在第二部分中描述的操作。如果星形字段是独立的,则可以使用java-2d轻松旋转图像。它是一个独立的图像。我们来看看Java2DAH。所以g2d.translate必须是行星的中心X和Y坐标,对吗?我想是的。试一试。这可能是一个愚蠢的问题,但它真的有那么复杂吗?没有像image.rotate(degrees)这样的命令吗?没有,但是您可以扩展
image
并添加方法
rotate(degrees)
并使用它。