Ciao, utilizzo la seguente funzione per ridimensionare le immagini.
Funziona correttamente, ma, a causa della riga evidenziata, i dati exif non vengono riportati nell'immagine ridimensionata.
C'è un modo per ridimensionare un'immagine senza perdere i dati exif?
codice:Public Function ResizeImage(ByVal percorsoImmagine As String, ByVal destinazioneImmagine As String) As Boolean Dim bm As Bitmap 'dimensioni originali Dim originalX As Integer Dim originalY As Integer 'dimensioni finali Dim destinationX As Integer Dim destinationY As Integer 'carica immagine originale bm = New Bitmap(percorsoImmagine) 'ricava dimensioni originali dell'immagine originalX = bm.Width originalY = bm.Height 'imposta dimensioni finali destinationX = 1600 destinationY = 1600 If originalX > originalY Then If originalX > 1600 Then destinationX = 1600 destinationY = CInt((destinationX / originalX) * originalY) Else destinationX = originalX destinationY = originalY End If ElseIf originalY > originalX Then If originalY > 1600 Then destinationX = CInt((destinationY / originalY) * originalX) destinationY = 1600 Else destinationX = originalX destinationY = originalY End If ElseIf originalX = originalY Then If originalY > 1600 Then destinationX = 1600 destinationY = 1600 Else destinationX = originalX destinationY = originalY End If End If 'riduzione dell'immagine Dim thumb As New Bitmap(destinationX, destinationY) Dim g As Graphics = Graphics.FromImage(thumb) g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic g.DrawImage(bm, New Rectangle(0, 0, destinationX, destinationY), New Rectangle(0, 0, bm.Width, bm.Height), GraphicsUnit.Pixel) g.Dispose() thumb.Save(destinazioneImmagine, System.Drawing.Imaging.ImageFormat.Jpeg) bm.Dispose() thumb.Dispose() Return True End Function

Rispondi quotando