Tem
11
2007

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]

Written by turgay in: Php&MySQL |

1 Yorum »

  • 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]

    Yorum | 10 Kasım 2007

RSS feed for comments on this post. TrackBack URL

Yorum yapın

Yorum yapabilmek için giriş yapmalısınız.

Turgay YILMAZ