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

Bunlarda ilginizi çekebilir...

Subscribe
Bildir
guest
6 Yorum
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Zehra

Hocam click olayında dosya yolunu gösterirken ” ‘+’ işleci ‘string’ ve ‘yöntem grubu’ türündeki işlenenlere uygulanamaz ” hatası alıyorum.Nasıl bir çözüm yolu uygulayabilirim

bayramkaranlilk

Hocam olmasına oluyorda peki bu yuklenen resimlerin ismini değiştirmeden yuklememiz için ne yapmam lazım orneğin ; resim/680ce7e6-2439-4cad-8b4b-7bb4b50a56a6.png diye değil de dosyanın orjinal ismini koymak istiyorum. Vertabanına kaydederken sıkıntı oluyor sonra

ramazan

bunu visual basic yazılımı lazım acil

Kamil

Merhaba peki standart height değerini atıyorum 80 yapsak genişlikte bu oranda kendisi orantılanamaz mı veya bunun için ne yapmamız lazım acaba?

Fatih Barış ŞAHAN

GDI+ içinde genel bir hata oluştu. diye bir hata alıyorum ? nedendir acaba

BilisimOgretmeni

Dosyanın yazma iznini kontrol edin.

6
0
Yazı hakkındaki yorum, görüş ve önerilerinizi yazınx
()
x