All pastes #91283 Raw Edit

Unnamed

public php v1 · immutable
#91283 ·published 2006-07-18 13:17 UTC
rendered paste body
function 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;		}	}