Resmi Bozmadan Küçültme

Aslında bu bir ders sayılmaz, daha çok ipucu kıvamında küçük bir örnek olacak. Amacımız belli, imagecopyresized ile resmi küçültürsek kalitesi bozuluyor. Öyleyse ne yapalım ki resmi bozmadan küçültebilelim?

(Öncelikle eğer GD nedir bilmiyorsanız, şurayı bir okuyun.)

Efendim; imagecopyresized, direkt olarak resmi alıp küçültüyor. Bu sebeple de küçültülen resmin kalitesi bozuluyor. Başka bir deyişle Photoshop’ta küçülttüğümüz resimler gibi kaliteli olmuyor.

Biz de GD kütüphanesinin diğer bir fonksiyonu olan imagecopyresampled‘ı kullanıyoruz. Bu kullanışlı fonksiyon, imagecopyresized gibi resmimizi küçültüyor, fakat bir farkla:
Aynı zamanda resimde birbirine yakın pixelleri birleştiriyor. Böylece resmin kalitesini arttırıp boyutunu küçültüyor.

Fazla uzatmaya gerek yok işte bu kadar.

Nasıl kullanılır?

imagecopyresized($yeni_resim, $kaynak_resim, 0, 0, 0, 0, $yenigenislik, $yeniyukseklik, $genislik, $yukseklik);

Ceviz‘den Prokami’nin MakeThumb fonksiyonu:

function makeThumb($f, $w, $h)
{
$im = imagecreatetruecolor ($w, $h);
$imx = imagecreatefromjpeg($f);
$xxx = getimagesize($f);
imagecopyresampled($im, $imx, 0, 0, 0, 0, $w, $h, $xxx[0], $xxx[1]);
imagejpeg ($im);
imagedestroy($im);
imagedestroy($imx);
}

Kullanımı:

// 1. parametre dosya, ikinci parametre genişlik, 3. parametre de uzunluk
makeThumb(‘benimdosya.jpg’, 10, 10);

İbrahim

Hekim. Yazar, beğenirse çevirir, kod yazarak eğlenir. 2002'den beri internette yazıyor.

Sevebilirsin...