Üye Kayıt Üye Giriş

ASP.NET ile Resimleri Nasıl Boyutlandırırız


ASP.NET ile Resimleri Nasıl Boyutlandırırız

 

Merhabalar. Bu makalemizde asp.net c# ile resim boyutlandırmadan bahsedeceğiz.

 

Genel olarak resim boyutlandırma web de çok kullanılan bir yapıdır. Mesela üye işlemlerinde profil resmi kaydedilirken, yüklenen resmin boyutunu ayarlamamız gerekir yoksa çok büyük resimler için sayfada çok fazla veri göndermek gerekecek, bu da sayfa yüklenme süresini uzatacaktır.

 

Şimdi genel olarak bir resim yükleme örneği yapalım. Bu örnekte yüklenecek resmi, resim boyutlarını, resmin kaydedileceği path ve ismi dışarıdan alıyoruz. Bunun için aşağıdaki formu tasarlayalım.

 

<table>

    <tr>

        <td colspan="2" style="width: 250px">

            <input id="Resim_Gozat" runat="server" style="width: 219px; height: 23px;" type="file" />

        td>

    tr>

    <tr>

        <td>

            <asp:Label ID="Label1" runat="server" Text="Yükseklik">asp:Label>

        td>

        <td>

            <asp:TextBox ID="YukseklikTxt" runat="server">asp:TextBox>

        td>

    tr>

    <tr>

        <td>

            <asp:Label ID="Label2" runat="server" Text="Genişlik">asp:Label>

        td>

        <td>

            <asp:TextBox ID="GenislikTxt" runat="server">asp:TextBox>

        td>

    tr>

    <tr>

        <td>

            <asp:Label ID="Label3" runat="server" Text="Resim Adı">asp:Label>

        td>

        <td>

            <asp:TextBox ID="ResimAdTxt" runat="server">asp:TextBox>

        td>

    tr>

    <tr>

        <td colspan="2">

            <asp:Button ID="Yuklebtn" runat="server" Text="Yükle" OnClick="Yuklebtn_Click" />

        td>

    tr>

    <tr>

        <td colspan="2">

            <asp:Image ID="kucukResim" runat="server" />

        td>

    tr>

table>

 

 

 

Yapımız aslında gayet basit. Göz at toolu ile seçilen resmi, istenen ebatlarda boyutlandırıp istenen klasöre kaydediyoruz.  Bu işlemi yapmak için öncelikle seçilen resmi geçici olarak herhangi bir klasöre kaydediyoruz. Sonra Bitmap sınıfını kullanarak istediğimiz boyutta kaydediyoruz. En son olarak geçici resmimizi siliyoruz. İşlemler sırasında bize lazım olacak olan : System.Drawing.Imaging System.IO ve System.Drawing kütüphanelerini  kodumuza eklemeyi unutmayalım.

 

 

Gerekli kodumuz:

 

// gerekli değerleri alalım

int genislik = 300;

int yukseklik = 400;

string resimAdi = "yeniresim.jpg";

string resimyolu = Server.MapPath("");

try

{

    genislik = Convert.ToInt32(GenislikTxt.Text);

    yukseklik = Convert.ToInt32(YukseklikTxt.Text);

}

catch (Exception)

{

}

 

if (ResimAdTxt.Text != "")

{

    resimAdi = ResimAdTxt.Text + ".jpg";

}

//resim boyutlandırma

// önce file upload ile seçilen resmi geçici olarak kaydelim

Resim_Gozat.PostedFile.SaveAs("\\" + Resim_Gozat.PostedFile.FileName);

//yeni boyutlarda bir resim oluşturup  kaydedelim

using (Bitmap gercekresim = new Bitmap("\\" + Resim_Gozat.PostedFile.FileName))

{

    // boyutları belirleyelim

    Size newSize = new Size(yukseklik, genislik);

    Bitmap yeniResim = new Bitmap(gercekresim, newSize);

    // resmi istenen klasöre kaydedelim

    string path = resimyolu + "\\" + resimAdi;

    yeniResim.Save(path,ImageFormat.Jpeg);

    gercekresim.Dispose();

 

    kucukResim.ImageUrl = resimAdi;

}

//geçici olarak kaydettiğimiz resmi silelim

FileInfo fi = new FileInfo("\\" + Resim_Gozat.PostedFile.FileName);

fi.Delete();

 

Bilgisayar Dershanesi Ders Sahibi;
Bilgisayar Dershanesi

Yorumlar

Yorum Yapabilmek İçin Üye Girişi Yapmanız Gerekmektedir.

ETİKETLER