Resize de imagem

<< Click to Display Table of Contents >>

Navigation:  ASP.NET > Dicas básicas >

Resize de imagem

Previous pageReturn to chapter overviewNext page

using System;

 

public partial class _Default : System.Web.UI.Page

{

  protected void Page_Load(object sender, EventArgs e)

   {

       ResizeImage(Server.MapPath("~/imagens/sw.jpg"), Server.MapPath("~/imagens/sw2.jpg"), 150, 300, false);

   }

 

  public void ResizeImage(string arquivoOrigem, string novoArquivo, int novaLargura, int maxAltura, bool resizeWide)

   {

       System.Drawing.Image originalImg = System.Drawing.Image.FromFile(arquivoOrigem);

      //originalImg.RotateFlip(System.Drawing.RotateFlipType.Rotate180FlipNone);

      if (resizeWide && originalImg.Width <= novaLargura)

       {

           novaLargura = originalImg.Width;

       }

 

      int novaAltura = originalImg.Height * novaLargura / originalImg.Width;

      if (novaAltura > maxAltura)

       {

           novaLargura = originalImg.Width * maxAltura / originalImg.Height;

           novaAltura = maxAltura;

       }

 

       System.Drawing.Image novaImagem = originalImg.GetThumbnailImage(novaLargura, novaAltura, null, IntPtr.Zero);

       originalImg.Dispose();

       novaImagem.Save(novoArquivo);

   }

}