Buongiorno,

non credevo che ruotare un oggetto della classe Image in Java potesse prendere così tanto tempo a un inesperto come me.

Posto il codice e lo commento:

codice:
img = img.getScaledInstance(600, 200 Image.SCALE_FAST);

            objBI = new BufferedImage(200, 600,  BufferedImage.TYPE_INT_RGB);

            g2 = objBI.createGraphics();

            g2.rotate(Math.toRadians(90), 600/2 , 200/2);

            g2.drawImage(img, -200, 200, null);
Carico l'immagine con width e height volute,

Creo un nuovo BufferedImage con le dimensioni scambiate, in modo da avere un immagine nera già ruotata.

Ruoto l'immagine di 90 gradi: gli altri 2 elementi sono il punto di rotazione, che imposto come altezza / 2 e larghezza / 2.

Poi faccio drawImage traslando l'immagine ottenuta.

Però l'immagine non è MAI, e dico MAI, esattamente al centro del Buffer, che infatti risulta ancora in parte nero...

Come faccio, a artire dal mio codice, a traslare la mia immagine di 90°?