Salve,
devo far ruotare di 90° un'immagine, un bottone rettangolare di 100x40 pixel. In condizioni normali mi viene disegnato con il suo angolo in alto a sinistra all'origine del sistema di coordinate fig.1. Dopo la rotazione di 90° visto che ha ruotare è tutto il sistema di assi intorno all'origine, ritrovo il mio bottone in verticale ma fuori campo fig.2. per farlo rientrare esegue una traslazione di 40 pixel fig. 3.
codice:
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d =(Graphics2D)g;
g2d.translate(40,0);
g2d.rotate(Math.toRadians(90));
icon.paintIcon(this, g2d, 0, 0);
}
A questo punto sembra che il problema sia risolto ma purtroppo oltre a ruotare l'immagine rimane ruotato tutto il sistema cartesiano. Dovendo eseguire ulteriori spostamenti dell'immagine diventa un rompicapo con tutte le coordinate invertite.
Vi chiedo c'è modo di ruotare un'immagine ma poi, lasciandola ruotata, rimettere le coordinate nella loro posizione iniziale?
Grazie