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°?