Para obtener el tamaño, ancho y alto de una imagen, usa el siguiente código:
Primero importa:
VB.NET:
-
Imports System.IO
-
Imports System.Drawing
Para obtener tamaño, ancho y alto de una imagen:
VB.NET:
-
Dim fs As FileStream = New FileStream("c:\miruta\miimagen.jpg", FileMode.Open, FileAccess.Read, FileShare.Read)
-
Dim LaImagen As System.Drawing.Image
-
LaImagen = System.Drawing.Image.FromStream(fs)
-
Label3.Text = "Tamaño: " & Convert.ToInt32(fs.Length) & "<br/>"
-
Label3.Text = Label3.Text & "Ancho: " & LaImagen.Width & "<br/>"
-
Label3.Text = Label3.Text & "Alto: " & LaImagen.Height & "<br/>"
-
fs.Close()
-
fs = Nothing
Para modificar su tamaño:
VB.NET:
-
Dim fs As FileStream = New FileStream("c:\miruta\miimagen.jpg", FileMode.Open, FileAccess.Read, FileShare.Read)
-
Dim LaImagen As System.Drawing.Image
-
LaImagen = System.Drawing.Image.FromStream(fs)
-
-
Dim ancho, alto As Integer
-
ancho = 100
-
'este calculo es para que la foto no pierda proporciones
-
alto = Math.Floor((100 / LaImagen.Width) * LaImagen.Height)
-
-
Dim NuevoBitmap As Bitmap = New Bitmap(ancho, alto)
-
Dim Graficos As Graphics = Graphics.FromImage(NuevoBitmap)
-
Graficos.CompositingQuality = Drawing2D.CompositingQuality.HighQuality
-
Graficos.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
-
Graficos.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
-
Dim Rectangulo As Rectangle = New Rectangle(0, 0, ancho, alto)
-
Graficos.DrawImage(LaImagen, Rectangulo)
-
NuevoBitmap.Save("c:\miruta\thumb.jpg", NuevoBitmap.RawFormat)
-
fs.Close()
-
fs = Nothing
Este código es muy útil para crear vistas previas de nuestras imágenes (o thumbnails) automáticamente.