Para obtener el tamaño, ancho y alto de una imagen, usa el siguiente código:

Primero importa:

  1. Imports System.IO
  2. Imports System.Drawing

Para obtener tamaño, ancho y alto de una imagen:

  1. Dim fs As FileStream = New FileStream("c:mirutamiimagen.jpg", FileMode.Open, FileAccess.Read, FileShare.Read)
  2. Dim LaImagen As System.Drawing.Image
  3. LaImagen = System.Drawing.Image.FromStream(fs)
  4. Label3.Text = "Tamaño: " & Convert.ToInt32(fs.Length) & "<br/>"
  5. Label3.Text = Label3.Text & "Ancho: " & LaImagen.Width & "<br/>"
  6. Label3.Text = Label3.Text & "Alto: " & LaImagen.Height & "<br/>"
  7. fs.Close()
  8. fs = Nothing

Para modificar su tamaño:

  1. Dim fs As FileStream = New FileStream("c:\miruta\miimagen.jpg", FileMode.Open, FileAccess.Read, FileShare.Read)
  2. Dim LaImagen As System.Drawing.Image
  3. LaImagen = System.Drawing.Image.FromStream(fs)
  4.  
  5. Dim ancho, alto As Integer
  6. ancho = 100
  7. 'este calculo es para que la foto no pierda proporciones
  8. alto = Math.Floor((100 / LaImagen.Width) * LaImagen.Height)
  9.  
  10. Dim NuevoBitmap As Bitmap = New Bitmap(ancho, alto)
  11. Dim Graficos As Graphics = Graphics.FromImage(NuevoBitmap)
  12. Graficos.CompositingQuality = Drawing2D.CompositingQuality.HighQuality
  13. Graficos.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
  14. Graficos.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
  15. Dim Rectangulo As Rectangle = New Rectangle(0, 0, ancho, alto)
  16. Graficos.DrawImage(LaImagen, Rectangulo)
  17. NuevoBitmap.Save("c:\miruta\thumb.jpg", NuevoBitmap.RawFormat)
  18. fs.Close()
  19. fs = Nothing

Este código es muy útil para crear vistas previas de nuestras imágenes (o thumbnails) automáticamente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


cuatro − 3 =