写了个函数楼主可以参考下function createBreviaryImage($srcImage, $toFile, $maxWidth=200, $maxHeight=200, $imgQuality=75) {
list($width, $height, $type, $attr) = getimagesize($srcImage);
switch ($type) {
case 1: $img = imagecreatefromgif($srcImage); break;
case 2: $img = imagecreatefromjpeg($srcImage); break;
case 3: $img = imagecreatefrompng($srcImage); break;
}
$scale = min($maxWidth/$width, $maxHeight/$height);
if($scale < 1) {
$newWidth = floor($scale*$width);
$newHeight = floor($scale*$height);
$newImg = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($newImg, $img, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
$newName = md5(uniqid(rand(), true));
switch($type) {
case 1: if(imagegif($newImg, "$toFile$newName.gif", $imgQuality))
return "$newName.gif"; break;
case 2: if(imagejpeg($newImg, "$toFile$newName.jpg", $imgQuality))
return "$newName.jpg"; break;
case 3: if(imagepng($newImg, "$toFile$newName.png", $imgQuality))
return "$newName.png"; break;
default: if(imagejpeg($newImg, "$toFile$newName.jpg", $imgQuality))
return "$newName.jpg"; break;
}
imagedestroy($newImg);
}
imagedestroy($img);
return false;
}
list($width, $height, $type, $attr) = getimagesize($srcImage);
switch ($type) {
case 1: $img = imagecreatefromgif($srcImage); break;
case 2: $img = imagecreatefromjpeg($srcImage); break;
case 3: $img = imagecreatefrompng($srcImage); break;
}
$scale = min($maxWidth/$width, $maxHeight/$height);
if($scale < 1) {
$newWidth = floor($scale*$width);
$newHeight = floor($scale*$height);
$newImg = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($newImg, $img, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
$newName = md5(uniqid(rand(), true));
switch($type) {
case 1: if(imagegif($newImg, "$toFile$newName.gif", $imgQuality))
return "$newName.gif"; break;
case 2: if(imagejpeg($newImg, "$toFile$newName.jpg", $imgQuality))
return "$newName.jpg"; break;
case 3: if(imagepng($newImg, "$toFile$newName.png", $imgQuality))
return "$newName.png"; break;
default: if(imagejpeg($newImg, "$toFile$newName.jpg", $imgQuality))
return "$newName.jpg"; break;
}
imagedestroy($newImg);
}
imagedestroy($img);
return false;
}
function CreateSmallImg($filename,$path="./"){ $maxw=100;$maxh=100; $name = basename($filename); $array = getimagesize($filename); if($array[2] == 2) { if(!(imagetypes() & IMG_JPG))die("不支持JPG格式图片"); $im = @imagecreatefromjpeg($filename) or die("image error"); } elseif($array[2] == 1) { if(!(imagetypes() & IMG_GIF))die("不支持GIF格式图片"); $im = @imagecreatefromgif($filename) or die("image error"); } else { die("现只支持gif和jpg图片"); } if($array[0]>$array[1]) { $w = (int)$array[0]/($array[1]/$maxh); $h = $maxh; } else { $h = (int)$array[1]/($array[0]/$maxw); $w = $maxw; } $im1 = imagecreatetruecolor($w,$h); imagecopyresized($im1,$im,0,0,0,0,$w,$h,$array[0],$array[1]); if($array[2] == 2) { if(!(imagetypes() & IMG_JPG))die("不支持JPG格式图片"); @imagejpeg($im1,$path."small_".$name) or die("创建缩略图失败"); return true; } elseif($array[2] == 1) { if(!(imagetypes() & IMG_GIF))die("不支持GIF格式图片"); @imagegif($im1,$path."small_".$name) or die("创建缩略图失败"); return true; } else { die("现只支持gif和jpg图片"); }}