Para obtener el tamaño, ancho y alto de una imagen, usa el siguiente código:
Primero importa:
- Imports System.IO
- Imports System.Drawing
Para obtener tamaño, ancho y alto de una imagen:
- Dim fs As FileStream = New FileStream("c:mirutamiimagen.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:
- 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.