Cómo obtener tamaño, ancho y alto de una imagen, y cómo modificar su tamaño

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

Primero importa:

VB.NET:
  1. Imports System.IO
  2. Imports System.Drawing

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

VB.NET:
  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. 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:

VB.NET:
  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.

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.