|
PHP ile Resmi Yeniden Boyutlandırma - PHP Webmaster bilgi bankası, knowledge base Webmaster Araçları
AnaSayfa > PHP > PHP ile Resmi Yeniden Boyutlandırma |
| Kategori | : PHP | Gönderen | : Admin | Tarih | : 2009-02-12 | Puan | : 0 | Katılımcı : 0 | Okunma | : 3615 | | | |
| | <?
// BU KODLARI boyutlandir.php OLARAK KAYDEDİNİZ
// boyutlandir.php
// Resmi Yeniden Boyutlandıran Fonksiyonumuz
function boyutlandir($resim,$max_en,$max_boy) {
ob_start();
// Resmin Boyutunu Alıyoruz
$boyut=getimagesize($resim);
$en =$boyut[0];
$boy =$boyut[1];
// Boyut Oranlarını Belirliyoruz
$x_oran=$max_en / $en;
$y_oran=$max_boy / $boy;
// Resmin Yeni Boyunu Orantılı Şekilde Ayarlıyoruz
if (($en <= $max_en) and ($boy <= $max_boy)) {
$son_en =$en;
$son_boy=$boy;
} else if (($x_oran * $boy) < $max_boy) {
$son_en =$max_en;
$son_boy=ceil($x_oran * $boy);
} else {
$son_en =ceil($y_oran * $en);
$son_boy=$max_boy;
}
// Resim Uzantısını Alıyoruz
$uzantilar = pathinfo($resim);
$uzanti =$uzantilar["extension"];
if ($uzanti == 'gif') {
$eski=imagecreatefromgif($resim);
} elseif ($uzanti == 'png') {
$eski=imagecreatefrompng($resim);
} else {
$eski=imagecreatefromjpeg($resim);
}
$yeni=imagecreatetruecolor($son_en,$son_boy);
// Eski Resmi Yeniden Örneklendiriyoruz
$renk=imagecolorallocate($yeni,255,255,255);
imagefill($yeni,0,0,$renk);
imagecopyresampled($yeni,$eski,0,0,0,0,$son_en,$son_boy,$en,$boy);
// Yeni Resmi Tarayıcıya Yansıtıyoruz
if ($uzanti == 'gif') {
header("Content-type: image/gif");
imagegif($yeni,null,100);
} elseif ($uzanti == 'png') {
header("Content-type: image/png");
imagepng($yeni,null,100);
} else {
header("Content-type: image/jpeg");
imagejpeg($yeni,null,100);
}
$icerik=ob_get_contents();
// Temizlik
ob_end_clean();
imagedestroy($eski);
imagedestroy($yeni);
return $icerik;
}
// resim_goster.html den Gelen Resim Değerlerini Alıyoruz
$resim=trim(strip_tags(htmlspecialchars($_GET['resim']))); //Resim Yolu ve Adını Alıyoruz
$en =intval($_GET['en']); // Resim Genişliği
$boy =intval($_GET['boy']); // Resim Yüksekliği
if (empty($en)) $en=100;
if (empty($boy)) $boy=80;
//Resmin Olup Olmadığını Kontrol Ediyoruz
if ($resim && file_exists($resim)) {
// Fonksiyonu Çağırıyoruz
echo boyutlandir($resim,$en,$boy);
}
?>
AŞAĞIDAKİ KODLARI DA resim_goster.html OLARAK KAYDEDİNİZ
Aynı Resmi Birkaç Sayfada Farklı Boyutlarda Çağırıyorsanız Bu Kodlar Çok İşinize Yarayacaktır..
Yapmanız Gereken Resmi Çağırdığınız Yerde
src="boyutlandir.php?resim=resimadi.gif&en=100&boy=100"
boyutlandir.php : Yukarıdaki Kodları Kaydettiğimiz Sayfanın Adı
resim=resimadi.gif resim= değişkenine resminizin bulunduğu yolu ve adını giriyorsunuz
en ve boy değişkenlerine de resminizin görünmesini istediğiniz boyutu giriyorsunuz..
en ve boyu boş bırakırsanız boyutlandir.php deki değerler dikkate alınır...
---- resim_goster.html ---
|
Yorumlar | Henüz Kimse Yorum Yapmamış, ilk yorumu siz ekleyin! | Yorum Ekleme Aparatı | Yorum Eklemek için lütfen sol menuden giris yapınız.. | Toplam 0 yorum listelendi. |
|