La calidad de la imagen se arruina en Java Graphics2D Rotate

Estoy experimentando un problema con la rotación de una imagen con el método de rotación Graphics2D.

Aquí hay una imagen del problema que estoy teniendo:

A medida que muevo la bola, la imagen se distorsiona completamente a medida que gira.

Aquí está mi método de rotación:

public static void rotate(BufferedImage img, Rectangle rect, int degrees) { 
    Graphics2D g = (Graphics2D) img.createGraphics();
    g.rotate(degrees, rect.x + rect.width/2, rect.y + rect.height/2);
    g.drawImage(img, rect.x, rect.y, rect.width, rect.height, null);
    g.dispose();
}

¿Hay algo que pueda hacer para evitar la pérdida de calidad?

Respuestas a la pregunta(2)

Su respuesta a la pregunta