Asp.Net Resim Boyutlandırma

Asp.net ile hazırladığınız sitelerde resim yükleme işlemi er yada geç lazım olacaktır, resim yükleme işlemini çok zorlanmadan FileUpload nesnesi ile yapabiliriz ama yüklenecek olan resmin boyutunu değiştirme ve yüklenen resim boyutlandırılırken en-boy oranını bozmadan nasıl yapılır onu anlatmaya çalışacağım.
İlk olarak form üzerine bir FileUpload ve bir bir buton ekliyoruz.

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>www.aspnetornekleri.com</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <table>
        <tr>
                <td>
                    <asp:FileUpload ID="FileUpload1" runat="server" />
                </td>
            </tr>
            <tr>
            <!-- www.aspnetornekleri.com -->
                <td>
                      <asp:Button ID="btnyukle" runat="server" Text="Yükle ve Boyutlandır"
            onclick="btnyukle_Click" /></td>
         </tr>          
  </table>
    </div>
    </form>
</body>
</html>

Asp.net ile yeniden boyutlandırılacak resmi seçtik ve “Yükle ve Boyutlandır” butonuna bastık şimdi neler olacak kısaca anlatayım dosyalar üzerinde işlem yapacağımız ve resim işleyeceğimiz için
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Drawing.Design;
using System.IO; namsespacelerini projemize ekliyoruz daha sonraki kodlarımız

   protected void btnyukle_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            string resim=string.Empty;
            Bitmap yeniresim=null;
            try
            {
                yeniresim = resim_boyulandir(FileUpload1.PostedFile.InputStream, 210, 130);//yeni resim için boyut veriyoruz..
                resim = Server.MapPath("resimler/") + Guid.NewGuid().ToString() + ".png";
                yeniresim.Save(resim, ImageFormat.Jpeg);
                //www.aspnetornekleri.com
            }
            catch (Exception ex)
            {
                Response.Write("Hata Oluştu: " + ex.Message.ToString());
            }
            finally
            {
                resim = string.Empty;
                yeniresim.Dispose();
            }      
          }
    }


        private Bitmap resim_boyulandir(Stream resim, int genislik, int yukseklik)
    {
        Bitmap orjinalresim = new Bitmap(resim);
        int yenigenislik = orjinalresim.Width;
        int yeniyukseklik = orjinalresim.Height;
        double enboyorani = Convert.ToDouble(orjinalresim.Width) / Convert.ToDouble(orjinalresim.Height);
        //www.aspnetornekleri.com
        if (enboyorani <= 1 && orjinalresim.Width > genislik)
        {
            yenigenislik = genislik;
            yeniyukseklik = Convert.ToInt32(Math.Round(yenigenislik / enboyorani));
        }
        else if (enboyorani > 1 && orjinalresim.Height > yukseklik)
        {
            yeniyukseklik = yukseklik;
            yenigenislik = Convert.ToInt32(Math.Round(yeniyukseklik * enboyorani));
        }
        return new Bitmap(orjinalresim, yenigenislik, yeniyukseklik);
    }

Asp.net Resim boyutlandırma işlemini yapmış oluyoruz
resimboyutlandir