ASP.NET ile Resimleri Nasil Boyutlandiririz

Merhabalar. Bu makalemizde asp.net c# ile resim boyutlandirmadan bahsedecegiz.

Genel olarak resim boyutlandirma web de çok kullanilan bir yapidir. Mesela üye islemlerinde profil resmi kaydedilirken, yüklenen resmin boyutunu ayarlamamiz gerekir yoksa çok büyük resimler için sayfada çok fazla veri göndermek gerekecek, bu da sayfa yüklenme süresini uzatacaktir.

Simdi genel olarak bir resim yükleme örnegi yapalim. Bu örnekte yüklenecek resmi, resim boyutlarini, resmin kaydedilecegi path ve ismi disaridan aliyoruz. Bunun için asagidaki formu tasarlayalim.

<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>

    &nnbsp;       <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="Genislik">asp:Label>

        td>

        <td>

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

        td>

    tr>

    <tr>

        <td>

            <asp:Label ID="Label3" runat="server" Text="Resim Adi">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>

 

Göz at butonu, yani FileUpload kullanimi ile ilgili detayli bilgiyi buradan inceleyebilirsiniz.

.

Yapimiz aslinda gayet basit. Göz at toolu ile seçilen resmi, istenen ebatlarda boyutlandirip istenen klasöre kaydediyoruz.  Bu islemi yapmak için öncelikle seçilen resmi geçici olarak herhangi bir klasöre kaydediyoruz. Sonra Bitmap sinifini kullanarak istedigimiz boyutta kaydediyoruz. En son olarak geçici resmimizi siliyoruz. Islemler sirasinda bize lazim olacak olan : System.Drawing.Imaging System.IO ve System.Drawing kütüphanelerini  kodumuza eklemeyi unutmayalim.

Gerekli kodumuz:

// gerekli degerleri alalim

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 boyutlandirma

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

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

//yeni boyutlarda bir resim olusturup  kaydedelim

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

{

    // boyutlari 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 kaydettigimiz resmi silelim

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

fi.Delete();

 

Örnek Projeyi buradan indirebilirsiniz

Tags:

6 thoughts on “ASP.NET ile Resimleri Nasil Boyutlandiririz

Guests için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir