经测试代码如下:
/**********************
*@filename - path to the image
*@tmpname - temporary path to thumbnail
*@xmax - max width
*@ymax - max height
* PHP调整图像尺寸
* @author 编程之家 jb51.cc jb51.cc
**/
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,floor($newx),floor($newy),$x,$y);
return $im2;
}
/*** 来自编程之家 jb51.cc(jb51.cc) ***/