ImgRotate




Declare Function SetPixel Lib "gdi32" Alias "SetPixelV" _
(ByVal hdc As Long, ByVal x As Long, _
ByVal y As Long, ByVal crColor As Long) As Long

Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, _
ByVal x As Long, ByVal y As Long) As Long

'Codice


Public Sub rotateimage()
Dim x As Long
Dim y As Long

Picture2.Height = Picture1.Width
Picture2.Width = Picture1.Height

For x = 0 To Picture1.Width

For y = 0 To Picture1.Height
Call SetPixel(Picture2.hdc, _
y, x, GetPixel(Picture1.hdc, x, y))
Next

If x Mod 50 = 0 Then
DoEvents
Picture2.Refresh
End If

Next

DoEvents
Picture2.Refresh

End Sub
Assicuratevi che, per entrambi gli oggetti Picture1 e Picture2,
la proprieta' Scalemode sia settata a Pixel. Altrimenti, finirete
con il leggere parecchi punti non necessari.











( imgrotate.html )- by Paolo Puglisi - Modifica del 17/12/2023