使用的函数和方法:
function ResizeImage($im,$maxwidth,$maxheight,$name){
$width = imagesx($im);
$height = imagesy($im);
if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){
if($maxwidth && $width > $maxwidth){
$widthratio = $maxwidth/$width;
$RESIZEWIDTH=true;
}
if($maxheight && $height > $maxheight){
$heightratio = $maxheight/$height;
$RESIZEHEIGHT=true;
}
if($RESIZEWIDTH && $RESIZEHEIGHT){
if($widthratio <$heightratio){
$ratio = $widthratio;
}else{
$ratio = $heightratio;
}
}elseif($RESIZEWIDTH){
$ratio = $widthratio;
}elseif($RESIZEHEIGHT){
$ratio = $heightratio;
}
$newwidth = $width * $ratio;
$newheight = $height * $ratio;
if(function_exists("imagecopyresampled")){
$newim = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}else{
$newim = imagecreate($newwidth, $newheight);
imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}
ImageJpeg ($newim,$name . ".jpg");
ImageDestroy ($newim);
}
else
{
ImageJpeg ($im,$name . ".jpg");
}
}
//使用实例
$ext=strrchr($im_dir,".");//$im_dir为源图片地址
//$ext为源图片后缀名
if($ext == ".jpg")
{
$im=imagecreatefromjpeg($im_dir);
}elseif($ext == ".png"){
$im = imagecreatefrompng($im_dir);
}elseif($ext == ".gif"){
$im = imagecreatefromgif($im_dir);
}
$FILENAME=str_replace($ext,"",$im_dir);//去掉后缀名
$FILENAME.="_Thumb"; //修改缩略图名称
// 生成图片的宽度
$RESIZEWIDTH=200;
// 生成图片的高度
$RESIZEHEIGHT=150;
ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,$FILENAME);
ImageDestroy ($im);