PHP调整图片尺寸

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

/**********************
 *@filename - path to the image
 *@tmpname - temporary path to thumbnail
 *@xmax - max width
 *@ymax - max height
 */
 function resize_image($filename, $tmpname, $xmax, $ymax)
 {
 $ext = explode(".", $filename);
 $ext = $ext[count($ext)-1];

 if($ext == "jpg" || $ext == "jpeg")
 $im = imagecreatefromjpeg($tmpname);
 elseif($ext == "png")
 $im = imagecreatefrompng($tmpname);
 elseif($ext == "gif")
 $im = imagecreatefromgif($tmpname);

 $x = imagesx($im);
 $y = imagesy($im);

 if($x <= $xmax && $y <= $ymax)
 return $im;

 if($x >= $y) {
 $newx = $xmax;
 $newy = $newx * $y / $x;
 }
 else {
 $newy = $ymax;
 $newx = $x / $y * $newy;
 }

 $im2 = imagecreatetruecolor($newx, $newy);
 imagecopyresized($im2, $im, 0, 0, 0, 0, floor($newx), floor($newy), $x, $y);
 return $im2;
 }