Girando uma imagem em java

Eu tenho uma imagem de um cartão Pan e quando tento girá-lo em 45 graus e salvá-lo, recebo uma imagem recortada. O código para girar uma imagem é:

    BufferedImage dimg = new BufferedImage(w, h, img.getType());
    Graphics2D g = dimg.createGraphics();
    g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, // Anti-alias!
            RenderingHints.VALUE_ANTIALIAS_ON);

    g.rotate(Math.toRadians(angle), w / 2, h / 2);

    g.drawImage(img, null, 0, 0);

questionAnswers(1)

yourAnswerToTheQuestion