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(); |
\\klasoradi1\\klasoradi2\\dosyaadi.ext
ben resim yolunu gosteremedim sorun cykyyor surekli resmin yolunu nasyl verebilirim
Merhaba.
Te?ekkür etmeden geçemedim. Çok te?ekkürler.
Emeginiz için tesekkürler…
Allah razi olsun gerçekten çok tesekkür ederim bu paylasiminiz ve makaleniz için o kadar çok isime yaradiki.. Allahta sizin isinizi görsün.
Allah senden razi olsun kardesim gerçekten çok güzel bir makale ellerine emegine saglik kardesim