Autoajustar Imágenes al ancho enviado por parametro

  Esta función es muy útil ya que permite autodimensionar las imágenes , tan solo enviando la imagen y el ancho como parámetros.

public static Image ResizeImage(Image srcImage, int Width)
{
  int ancho = srcImage.Width;
  int alto = srcImage.Height;
  int porcentaje = (Width*100)/ancho;
  int Height = (porcentaje*alto)/100;
  
  using (Bitmap imagenBitmap = new Bitmap(Width,Height,PixelFormat.Format32bppRgb))
  {
    imagenBitmap.SetResolution(
    Convert.ToInt32(srcImage.HorizontalResolution),
    Convert.ToInt32(srcImage.HorizontalResolution));
    using (Graphics imagenGraphics = Graphics.FromImage(imagenBitmap))
    {
       imagenGraphics.SmoothingMode = SmoothingMode.AntiAlias;
       imagenGraphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
       imagenGraphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
       imagenGraphics.DrawImage(srcImage,new Rectangle(0, 0, Width, Height),
                                new Rectangle(0, 0, srcImage.Width, srcImage.Height),
                                GraphicsUnit.Pixel);
       MemoryStream imagenMemoryStream = new MemoryStream();
       imagenBitmap.Save(imagenMemoryStream, ImageFormat.Jpeg);
       srcImage= Image.FromStream(imagenMemoryStream);
    }
  }
 return srcImage;
}

Saludos

También te podría gustar...