所以我有这个处理BufferedImage的类:
public class Entity {
private BufferedImage sprite;
private final AffineTransform at;
public Entity(String imageFileName, int x, int y) {
sprite = null;
try {
this.sprite = ImageIO.read(new File(imageFileName));
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
at = new AffineTransform();
at.translate(x, y);
}
public void draw(Graphics2D g) {
g.drawImage(sprite, at, null);
}
public void rotate(double radians) {
at.rotate(radians);
}
public void move(int dx, int dy) {
at.translate(dx, dy);
}
...
但是,rotate
函数的行为并不像我想要的那样;我希望它只是将图像旋转到位,保持图像的所有其他数据相同。我已经看到了关于这个主题的其他问题,但他们没有我做同样的问题。
谢谢!