Osman KURT

Kendime Not

ASP.Net de Resime Boyut Verme

Birçok projemizde kullanmamız gerekn bir olay bu. Yaptığımız projede resim galerisi yapıyoruz ama galerideki resimleri listelediğimizde o sayfaya giren kişinin bilgisayarı çok fena kasılıyo ve buda web sayfanızın ziyaretçi kitlesini hızlı bir şekilde aşşağıya çekebiliyor. Buda normal bir olay. Çünkü siz tutup 1027x768 px lik bir resmi 100x100 px bir boyutta gösteriyosunuz tmm ama resmin orjinal boyutu büyük olduğu için hem yüklenirken hemde gösterilirken pc yi kasacaktır. Bende bu hatayı çok yaptım. O yüzden bu kodu yazmaya başladım. Boşuna dememişler yazılım ihtiyaçtan doğar diye.

Şimdi ilk olarak Boyut.aspx dosyası oluşturalım ve içini alt kısımdaki gibi dolduralım.

<asp:FileUpload ID="FileUpload1" runat="server" /><br />
<asp:Button ID="Button1" runat="server" Text="İşlem Yap"
onclick="Button1_Click" /><br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button2" runat="server" Text="Sil" onclick="Button2_Click" />

Bu kısmı oluşturduktan sonra isterseniz asıl kod kısmımızı yazma başlayalım. hemen boyut.aspx.cs dosyamıza geçiyoruz ve kodlarımızı yazıyoruz.

private void boyutlandir(string fileName)
{
Bitmap orjinalResim = new Bitmap(Server.MapPath(fileName));
int resimGenislik = 600;
int resimYukseklik = 450;
Size yeniResimBoyut = new Size(Convert.ToInt32(resimGenislik), Convert.ToInt32(resimYukseklik));
Bitmap boyutlandirResim = new Bitmap(orjinalResim, yeniResimBoyut);
boyutlandirResim.Save(Server.MapPath("~/Resim/" + fileName), ImageFormat.Jpeg);
}
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
string resimAd = FileUpload1.FileName;
FileUpload1.SaveAs(Server.MapPath(FileUpload1.FileName));
boyutlandir(resimAd);
}
}
protected void Button2_Click(object sender, EventArgs e)
{
try
{
File.Delete(Server.MapPath("~/Resim/"+TextBox1.Text));
Response.Write(alarmVer.msjBox("Resim Başarıyla Silinmiştir","boyut.aspx"));
//ya classı oluşturun yada bu satırı yazmayın...
}
catch (Exception)
{
Response.Write(alarmVer.msjBox("Hata Oluştu", "boyut.aspx")); //ya classı oluşturun yada bu satırı yazmayın...
}

}

Bu kodlarımızı yazdıktan sonra işlemimizi sonlandırıyoruz.

Ha Unutmadan boyut.aspx.cs dosyamızın en üst kısmına alt kısımdaki kütüphaneleri ekliyoruz yoksa projemiz çalışmıyacaktır.

using System.Drawing;
using System.Drawing.Imaging;
using System.IO;

Sonraki yazımızda Görüşmek Üzere;

Osman KURT
Yazılım Geliştirici ve Grafiker

Not: Bu projenin çalışması için http://www.osmankurt.net/post/ASPNet-de-MesajBox-Uygulamasc4b1.aspx linkinde ki class dosyamızı oluşturmanız lazım. Yada mesaj kodlarını kaldırınız.

KucukResimOlusturma.rar (606,19 kb)

Yorumlar (1) -

  • Bülent

    13.8.2013 13:02:07 | Yanıtla

    Teşekkürler... Sorunsuz çalışıyor ama anadizine birde Resim klasörüne Resmin orjinal boyutları ekleniyor onları nasıl silebilirim

Loading