PHP de Resimleri yeniden boyutlandırmak
Dinamik Web sitelerinde yönetim panellerinin görevleri çok önemlidir. Girilen verilerin doğruluğunu test etmek kadar onu web sitesine en uygun hale getirmekte önemlidir.Bugün yönetim panelinden girilmiş olan resimlerin kullanıcılardan bağımsız olarak resimlerimizi yeniden genişlik ve boy oranlarına bağlı kalarak boyutlandırmaya çalışacağız.
[PHP] //Resmi Yeniden Boyutlandıran Fonksiyonumuz
function boyutlandir($resim,$max_en,$max_boy)
{
// 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ı Åzekilde 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,$resim,100);
} else {
@header("Content-type: image/jpeg");
imagejpeg($yeni,$resim,100);
}
$icerik = ob_get_contents();
}
 [/PHP]
1 Yorum »
RSS feed for comments on this post. TrackBack URL
Yorum yapın
Yorum yapabilmek için giriş yapmalısınız.
Teşekkürler.
Bu da benden. Genişlik ve yüksekliği verin kendi o aralıkta boyutlandırsın(kısa ve kullanışlı)
$w = 170;
$h = 170;
// Get image dimensions
$resim_size = @getimagesize ($hedef);
if (( $resim_size[0] > 200) || ($resim_size[1] >200)){
if (($resim_size[0]