我知道如何在java中旋转图像,但我找不到使用Graphics2D.rotate方法围绕其中心旋转图像的方法。这就是我所拥有的。
public void rotateLeft(Graphics2D g) {
rotateLeft++;
g.rotate(Math.toRadians(rotateLeft), charX, charY);
}
charX和charY顺便提一下......所以,有人可以帮助我吗?
答案 0 :(得分:4)
您可以使用:
g.rotate(angle, (imageWidth / 2) + 1, (imageHeight / 2) + 1);
答案 1 :(得分:0)
我就是这样做的:
AffineTransform oldTrans = g2d.getTransform();
g2d.rotate(-theta,xNow+bufferedBox.getWidth()/2, this.getHeight() - groundY - yNow - bufferedBox.getHeight()/2);
g2d.drawImage(bufferedBox, xNow, this.getHeight() - groundY - yNow - bufferedBox.getHeight(), null);
g2d.setTransform(oldTrans);
x现在y我的坐标是我的盒子所在的位置。 “this”指的是jPanel,groundY是偏移量(它位于地面之上)。 bufferedBox指的是我的图像