01. oktober 2006 - 08:22
Der er
2 kommentarer
Image cutting gd lib
Hejsa
jeg står og skal bruge et script som cutter i en billede fil via gd lib. lige nu resizer den billede fra f.eks
600x400 til 300x200 vil gerne have at den cutter det ned til en kvadrat på lad os sige 200x200 . altså skære i billedet så det ikke bliver deformt!
mvh Mads
02. oktober 2006 - 17:34
#2
function createThumbnail()
{
$max=array(100,100);
$image[size] = getimagesize($this->uploadSaveAs);
if(($image[size][1] > $max[1]) || ($image[size][0] > $max[0])){
if ($image[size][1] > $image[size][0]) $sizefactor=(double) ($max[1]/$image[size][1]);
else $sizefactor = (double) ($max[0] / $image[size][0]);
}else{
$sizefactor = "1";
}
$maxx = (int) ($image[size][0] * $sizefactor);
$maxy = (int) ($image[size][1] * $sizefactor);
$tmp_name = basename($this->uploadSaveAs);
if($this->uploadFileExtension == "jpg" || $this->uploadFileExtension == "jpeg")
{
$imgObj = imagecreatefromjpeg($this->uploadSaveAs);
$imgSmall = imagecreatetruecolor($maxx,$maxy);
ImageCopyResampled($imgSmall, $imgObj, 0, 0, 0, 0, $maxx, $maxy, $image[size][0], $image[size][1]);
ImageJPEG($imgSmall, $this->uploadDirPath."thumbs/".basename($this->uploadSaveAs) );
}
elseif($this->uploadFileExtension == "gif")
{
$imgObj = imagecreatefromgif($this->uploadSaveAs);
$imgSmall = imagecreatetruecolor($maxx,$maxy);
ImageCopyResampled($imgSmall, $imgObj, 0, 0, 0, 0, $maxx, $maxy, $image[size][0], $image[size][1]);
ImageGIF($imgSmall, $this->uploadDirPath."thumbs/".basename($this->uploadSaveAs) );
}
return (ImageDestroy($imgSmall)) ? true : false;
}