Asp.Net sayfalarimizin daha hizli yüklenmesi için sayfamizda yer alan resimlerin boyutlarini mümkün oldugunca küçük tutmaya çalisiriz.

Resmi Küçültme Thumbnail

Asp.Net sayfalarimizin daha hizli yüklenmesi için sayfamizda yer alan resimlerin boyutlarini mümkün oldugunca küçük tutmaya çalisiriz. Örnegin bir ürün sayfasi listeledigimizi düsünelim. Önce kullaniciya küçük resim gösterilir. Kullanici bu resme tikladigi veya üzerine geldigi zaman resmin büyük halini gösteririz. Küçük resim yerine sayfaya yüksek çözünürlüklü resmi koyup boyutlarini degistirebiliriz.  Fakat bu sayfalaramizin geç açilmasina neden olur. Bu yüzden sayfalarimizda küçük resimleri listeleyerek üzerine tiklandiginda ve/veya detayina gidildiginde büyük resmi göstermek  sayfamizin hizli yüklenmesine neden olur.  Resimlerimizi barindirdigimiz klasör içerisine "Thumbs" adinda bir klasör açarak küçük resimleri burada tutup, ilk gösterimde bu resimleri kullanabiliriz. 

Simdi bu islemi nasil gerçeklestirecegimize bakalim.
          
           Bu islem için "GetThumbs()" adinda bir metod olusturalim. Bu metod önce orjinal resmi aliyor. Verdigimiz genislige göre, resmin yüksekligini  "BOZULMADAN" ayarliyor. Ve verdigimiz adrese resmi kaydediyor. Metodun tümünü asagidan inceleyebilirsiniz.

GetThumbs() ve Bu metod için gerekli olan MethodForThumbs()  Metodu:

public void GetThumb(int genislik, string dosyaIsmi,string orjinalResim)
{
	System.Drawing.Image image = System.Drawing.Image.FromFile(orjinalResim);
	int yuzdeKacKuculuyo = genislik * 100 / image.Width;
	int yukseklik = (image.Height * yuzdeKacKuculuyo / 100);
	System.Drawing.Image thumbnailImage = image.GetThumbnailImage(genislik, yukseklik, new Image.GetThumbnailImageAbort(false), IntPtr.Zero);
	thumbnailImage.Save(ConfigurationSettings.AppSettings["imageFolder"].ToString() + "\\Thumbs\\" + dosyaIsmi);
}

 

        Simdi dilerseniz ufaktan, metodumuzu açiklayalim. Önce kullanicidan yeni genislik degerini, yeni dosya ismini ve orjinal resim dosyasini istiyoruz. Daha sonra kullanicidan aldigimiz resim ile yeni bir resim olusturuyoruz..Bu islemden sonra kullanicidan aldigimiz genislik degerine göre, yeni resmin genisliginin yüzde kaç küçüldügünü buluyoruz.Çünkü genislik ne kadar küçüldüyse, yükseklik de o kadar küçülmeli ki resmin boyutlarinda dengesiz bir degisme olmasin. Bu yüzdelik genislemeyi dikkate alarak yüksekligide bu yüzde oranina göre ayarliyoruz.
Resmin genisliginin ve yüksekliginin hesaplanmasi:

 

int yuzdeKacKuculuyo = genislik * 100 / image.Width; 
int yukseklik = (image.Height * yuzdeKacKuculuyo / 100);

 

 


Daha sonra GetThumbNailImage() metoduna belirledigimiz parametreleri vererek küçük resmimizi olusturuyoruz. Son satirda ise save metodu ile  App.Config dosyamda sakladigim resimler klasörü içerisinde bulunan Thumbs klasörüne verdigim dosya ismi ile küçük resmimizi kaydediyoruz.
          Metod hatasiz çalismaktadir. Yapmaniz gereken parametreleri dogru vermek ve App.Config dosyasindan çektigim hedef klasörü kendinize uygun bir biçimde ayarlamak.

İlgili Makaleler

Bu yazıya 0 yorum yapılmış.

Yorum Gönder