rendered paste bodyfunction resize($src_file, $dest_file, $newWidth,$newHeight) { // find the image size & type $testGD = get_extension_funcs("gd"); // Grab function list if (!$testGD){ return $src_file; /*echo "GD not even installed."; exit;*/ } if (in_array ("imagecreatetruecolor",$testGD)) $truecolor = TRUE; // Check $imginfo = getimagesize($src_file); switch($imginfo[2]) { case 1: $type = IMG_GIF; break; case 2: $type = IMG_JPG; break; case 3: $type = IMG_PNG; break; case 4: $type = IMG_WBMP; break; default: return $src_file; break; } switch($type) { case IMG_GIF: if(!function_exists('imagecreatefromgif')){return $src_file;} $srcImage = @imagecreatefromgif("$src_file"); break; case IMG_JPG: if(!function_exists('imagecreatefromjpeg')){return $src_file;} $srcImage = @ImageCreateFromJpeg($src_file); break; case IMG_PNG: if(!function_exists('imagecreatefrompng')){return $src_file;} $srcImage = @imagecreatefrompng("$src_file"); break; case IMG_WBMP: if(!function_exists('imagecreatefromwbmp')){return $src_file;} $srcImage = @imagecreatefromwbmp("$src_file"); break; default: return $src_file; } if($srcImage){ // height/width $srcWidth = $imginfo[0]; $srcHeight = $imginfo[1]; if($srcWidth>$srcHeight){ //echo"$srcWidth>$srcHeight - W<br>"; $ratio = $srcHeight/$newHeight; $destWidth = $srcWidth / $ratio; $destHeight = $newHeight; if($destWidth<$newWidth){ $ratio = $srcWidth/$newWidth; $destWidth = $newWidth; $destHeight = $srcHeight / $ratio; } } if($srcWidth<$srcHeight){ //echo"H<br>"; $ratio = $srcWidth/$newWidth; $destWidth = $newWidth; $destHeight = $srcHeight / $ratio; if($destHeight<$newHeight){ $ratio = $srcHeight/$newHeight; $destHeight = $newHeight; $destWidth = $srcWidth / $ratio; } } //echo "$destWidth x $destHeight<br>"; // resize //echo $gd_version; if ($truecolor) { $destImage = @imagecreatetruecolor($destWidth, $destHeight); $cropImage = @imagecreatetruecolor($newWidth,$newHeight); imagecopyresampled($destImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight); //echo 'GD_2'; } else { $destImage = @imagecreate($destWidth, $destHeight); $cropImage = @imagecreate($newWidth,$newHeight); imagecopyresized($destImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight); //echo 'GD_1'; } imagecopy($cropImage, $destImage, 0, 0, (($destWidth/2)-($newWidth/2)), (($destHeight/2)-($newHeight/2)), $newWidth, $newHeight); // create and save final picture switch($type){ case IMG_GIF: @imagegif($cropImage, "$dest_file"); break; case IMG_JPG: @imagejpeg($cropImage, "$dest_file"); break; case IMG_PNG: @imagepng($cropImage, "$dest_file"); break; case IMG_WBMP: @imagewbmp($cropImage, "$dest_file"); break; } // free the memory @imagedestroy($srcImage); @imagedestroy($destImage); @imagedestroy($cropImage); return $dest_file; } else { return $src_file; } }