//Make a backup so that we can reset our graphics object after using it.
AffineTransform backup = g2d.getTransform();
//rx is the x coordinate for rotation, ry is the y coordinate for rotation, and angle
//is the angle to rotate the image. If you want to rotate around the center of an image,
//use the image's center x and y coordinates for rx and ry.
AffineTransform a = AffineTransform.getRotateInstance(angle, rx, ry);
//Set our Graphics2D object to the transform
g2d.setTransform(a);
//Draw our image like normal
g2d.drawImage(image, x, y, null);
//Reset our graphics object so we can draw with it again.
g2d.setTransform(backup);
このようにすることができます。このコードは 'image' というバッファリングされた画像が存在することを前提にしています(あなたのコメントにあるように)。
AffineTransform`のインスタンスは、連結(足し算)することができます。 したがって、 '原点への移動'、 '回転'、 '目的の位置への移動'を組み合わせたトランスフォームを持つことができる。
このような複雑な描画ステートメントを使用せずにそれを行う簡単な方法:
https://coderanch.com/t/485958/java/Rotating-buffered-image より