Ruotare una immagine sul proprio asse centrale
Vai alla navigazione
Vai alla ricerca
Per ruotare un'immagine intorno al proprio asse centrale possiamo utilizzare le risorse delle Classi Paint e PaintBrush.
La rotazione dell'immagine viene esercitata dal metodo
Paint.Rotate(Rad(valore_in_gradi)
Se si intende ruotare l'immagine in senso orario, bisognerà porre valori negativi dei gradi: Paint.Rotate(Rad(-valore_in_gradi).
Nel seguente esempio pratico, una immagine sarà ruotata di 45° in senso antiorario:
Public Sub Buton1_Click()
Dim pb As PaintBrush
Dim immago As Image
immago = Image.Load("/percorso/dell'immagine")
With Paint
.Begin(immago)
' Creiamo un oggetto "PaintBrush" mediante l'immagine caricata:
pb = .Image(immago)
' I valori associati ai parametri di questo metodo devono
' essere sempre pari alla metà della dimensione dell'immagine caricata:
.Translate(immago.W \ 2, immago.H \ 2)
' Ruotiamo l'immagine di 45° in senso antiorario:
.Rotate(Rad(45)
.Translate(- immago.W \ 2, - immago.H \ 2)
.Brush = pb
.Rectangle(0, 0, immago.W, immago.H)
.Fill
' Mostriamo l'immagine, come ruotata, nella "PictureBox":
PictureBox1.Picture = immago.Picture
' Salviamo la nuova immagine, come ruotata, nell'HD:
immago.Save("/tmp/nuova_immagine.png", 100)
End