Resimleri istenilen şekilde boyutlandırma (crop)
Resimleri boyutlandırmak için bir çok yol denedim bu zamana kadar ancak bu sefer bulduğum yok en iyisi sanırım.Bi forumda rastladım ve ordan kendime göre düzenledim veya istediğim değişikliği yaptım.Umarım sizinde işinizi görür.
Normal yoldan resmimizi eklediğimizde tasarım olarak değişmemesi için elimizde sabit genişlik vermek zorunda kalıyoduk.Ancak vereceğim kodda istediğiniz boyutlara tam denk oluyor.Ve resmin kalitesi kesinlikle bozulmuyor.
<?
function cropImage($nw, $nh, $source, $stype, $dest) {
$size = getimagesize($source);
$w = $size[0];
$h = $size[1];
switch($stype) {
case ‘gif’:
$simg = imagecreatefromgif($source);
break;
case ‘jpg’:
$simg = imagecreatefromjpeg($source);
break;
case ‘png’:
$simg = imagecreatefrompng($source);
break;
}
$dimg = imagecreatetruecolor($nw, $nh);
$wm = $w/$nw;
$hm = $h/$nh;
$h_height = $nh/2;
$w_height = $nw/2;
if($w> $h) {
$adjusted_width = $w / $hm;
$half_width = $adjusted_width / 2;
$int_width = $half_width - $w_height;
imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h);
} elseif(($w <$h) || ($w == $h)) {
$adjusted_height = $h / $wm;
$half_height = $adjusted_height / 2;
$int_height = $half_height - $h_height;
imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$nw,$adjusted_height,$w,$h);
} else {
imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h);
}
imagejpeg($dimg,$dest,100);
}
?>
Kullanımı:
$filename = $_FILES[’dosyamizinadi’][’tmp_name’];
$type= $_FILES[’dosyamizinadi’][type’];
cropImage(140, 107, $filename, $type, $kopylanacagiyer);
Bu şekilde 140*107 boyutlarında resmimizi şekillendirmiş olduk.
Tarih: Temmuz 18th, 2008 yapan nuran toka
Kategori: Web Programlama
Düşüncelerinizi Esirgemeyin !!