Ridimensionare un'immagine in VB.NET
ATTENZIONE!
Il post ha più di 2 anni e le informazioni contenute
potrebbero essere obsolete (ad esempio a causa di un
aggiornamento di versione rispetto agli elementi descritti
o links modificati da siti esterni).
Una semplice funzione per eseguire il resize di un’immagine in VB.NET:
Public Function ResizeImage(ByVal percorsoImmagine 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
'cartella e nome di destinazione
Dim destinationFolder as String
Dim destinationFileName As String
'carica immagine originale
bm = New Bitmap(percorsoImmagine)
'ricava dimensioni originali dell'immagine
originalX = bm.Width
originalY = bm.Height
'imposta dimensioni finali
destinationX = 600
destinationY = 500
'riduzione dell'immagine
Dim thumb As New Bitmap(destinationX, destinationY)
Dim g As Graphics = Graphics.FromImage(thumb)
'impostazione del metodo di interpolazione utilizzato per il resize
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()
'salvataggio dell'immagine ridimensionata
destinationFolder = "C:\"
destinationFileName = "resized_" & System.IO.Path.GetFileNameWithoutExtension(percorsoImmagine)
thumb.Save(destinationFolder & destinationFileName & ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
bm.Dispose()
thumb.Dispose()
Return True
End Function
Nella funzione le dimensioni finali sono entrambe fisse, ma è possibile eseguire un resize proporzionale ad una delle due dimensioni. Per un resize con altezza fissa (Y) si deve sostituire
destinationX = 600
destinationY = 500
con
destinationY = 500
destinationX = CInt((destinationY / originalY) * originalX)
Per un resize con larghezza fissa (X) utilizzare:
destinationX = 600
destinationY = CInt((destinationX / originalX) * originalY)

Centrare un div con i css senza conoscerne la larghezza
Modificare le icone dei link in base al tipo di file con CSS3
Commenti