在原位旋转BufferedImage

时间:2015-02-09 03:29:49

标签: java swing bufferedimage

所以我有这个处理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函数的行为并不像我想要的那样;我希望它只是将图像旋转到位,保持图像的所有其他数据相同。我已经看到了关于这个主题的其他问题,但他们没有我做同样的问题。 谢谢!

0 个答案:

没有答案