Image2D.rotate()使用错误的方向旋转图像

时间:2014-01-10 03:47:55

标签: java image rotation

我的目标是在鼠标光标所在的位置设置一个图像面,这是我获取旋转角度的代码(在我的Ship类中):

public void reOrient() {
    Point m = MouseInfo.getPointerInfo().getLocation();
    // getBoard().getPanel() is the JPanel on which the image will be drawn
    Point c = getBoard().getPanel().getLocationOnScreen();
    int x = m.x - c.x, y = m.y - c.y;
    float angle = (float) (Math.atan2(getY() - y, x - getX()));
    setOrientation(angle);

}

然后在我的JPanel上的paint方法中:

AffineTransform reset = new AffineTransform();
    reset.rotate(0, 0, 0);
    g2d.rotate(ship.getOrientation(), ship.getX() + 26,
            ship.getY() + 26);
    g2d.drawImage(ship.getImage(), ship.getX(), ship.getY(), this);
    g2d.setTransform(reset);

我的问题是,当我逆时针移动鼠标时,图像顺时针旋转......任何想法?

0 个答案:

没有答案