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   Puan:0 | Katılımcı:0 | Katılımcı : 0
Okunma: 3438
  
 
1 puan 2 puan 3 puan 4 puan 5 puan 6 puan 7 puan 8 puan 9 puan 10 puan

<?
// 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.