function crop_image($old_image,$new_image,$width,$height,$type="") { $dimensions = getimagesize($old_image); $old_x=$dimensions[0]; $old_y=$dimensions[1]; if ($old_x < $width) { $width=$old_x; } if ($old_y < $height) { $height=$old_y; } $canvas = imagecreatetruecolor($width,$height); $system= substr(strrchr($old_image, "."), 1 ); if (preg_match('/png/',$system)) { $piece = imagecreatefrompng($old_image); } else if (preg_match('/gif/',$system)) { $piece = imagecreatefromgif($old_image); } else $piece = imagecreatefromjpeg($old_image); $newwidth = $dimensions[0] ;/// 2; $newheight = $dimensions[1];// / 2; if ($newwidth>$width) { $cropLeft = ($newwidth/2) - ($width/2); $newwidth=$width; } else $cropLeft = 0; if ($newheight > $height) { $cropHeight = ($newheight/2) - ($height/2); $newheight=$height; } else $cropHeight = 0;//($newheight); if($system=="gif") { $transparent = imagecolorallocate($canvas, "255", "255", "255"); imagefill($canvas, 0, 0, $transparent); } // Generate the cropped image @imagecopyresized($canvas, $piece, 0,0, $cropLeft, $cropHeight,$newwidth, $newheight, $width, $height); if (preg_match('/png/',$system)) { imagepng($canvas,$new_image); } else if (preg_match('/gif/',$system)) { imagegif($canvas,$new_image,90); } else imagejpeg($canvas,$new_image,90); @imagedestroy($canvas); @imagedestroy($piece); }