1

Java で画像を回転する方法は知っていますが、Graphics2D.rotate メソッドを使用して画像を中心に回転する方法が見つかりません。これが私が持っているものです。

public void rotateLeft(Graphics2D g) {
    rotateLeft++;

    g.rotate(Math.toRadians(rotateLeft), charX, charY);
}

ちなみに、charX と charY は座標です。

4

2 に答える 2

4

以下を使用できます。

g.rotate(angle, (imageWidth / 2) + 1, (imageHeight / 2) + 1);
于 2013-02-27T22:33:37.280 に答える
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);

xNow と yNow は、ボックスが配置される座標です。「this」は jPanel を指し、groundY はオフセットです (地面の上にあります)。bufferedBox は私の画像を指します

于 2013-06-05T22:18:53.607 に答える