一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

php生成缩略图代码

时间:2008-03-28 编辑:简简单单 来源:一聚教程网


/**
* 生成缩略图
* $srcName----为原图片路径
* $newWidth,$newHeight----分别缩略图的最大宽,高
* $newName----为缩略图文件名(含路径),默认为加入thumbnail
* @param string $srcName
* @param int $newWidth
* @param int $newHeight
* @param string $newName
* return viod
*/
function resizeImg($srcName,$newWidth,$newHeight,$newName=""
)
{
        if(
$newName==""
)
        {
                
$nameArr=explode('.',$srcName
);
                
$expName=array_pop($nameArr
);
                
$expName='thumbnail.'.$expName
;
                
array_push($nameArr,$expName
);
                
$newName implode('.',$nameArr
);
        }
        
$info ""
;
        
$data getimagesize($srcName,$info
);
        switch (
$data[2
])
        {
                case 
1
:
                        if(!
function_exists("imagecreatefromgif"
)){
                                echo 
"你的GD库不能使用GIF格式的图片,请使用Jpeg或PNG格式!返回"
;
                                exit();
                        }
                        
$im ImageCreateFromGIF($srcName
);
                        break;
                case 
2
:
                        if(!
function_exists("imagecreatefromjpeg"
)){
                                echo 
"你的GD库不能使用jpeg格式的图片,请使用其它格式的图片!返回"
;
                                exit();
                        }
                        
$im ImageCreateFromJpeg($srcName
);
                        break;
                case 
3
:
                        
$im ImageCreateFromPNG($srcName
);
                        break;
        }
        
$srcW=ImageSX($im
);
        
$srcH=ImageSY($im
);
        
$newWidthH=$newWidth/$newHeight
;
        
$srcWH=$srcW/$srcH
;
        if(
$newWidthH<=$srcWH
){
                
$ftoW=$newWidth
;
                
$ftoH=$ftoW*($srcH/$srcW
);
        }
        else{
                
$ftoH=$newHeight
;
                
$ftoW=$ftoH*($srcW/$srcH
);
        }
        if(
$srcW>$newWidth||$srcH>$newHeight
)
        {
                if(
function_exists("imagecreatetruecolor"
))
                {
                        @
$ni ImageCreateTrueColor($ftoW,$ftoH
);
                        if(
$niImageCopyResampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH
);
                        else
                        {
                                
$ni=ImageCreate($ftoW,$ftoH
);
                                
ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH
);
                        }
                }
                else
                {
                        
$ni=ImageCreate($ftoW,$ftoH
);
                        
ImageCopyResized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH
);
                }
                if(
function_exists('imagejpeg')) ImageJpeg($ni,$newName
);
                else 
ImagePNG($ni,$newName
);
                
ImageDestroy($ni
);
        }
        
ImageDestroy($im
);
}

resizeImg('123.JPG',150,150
);
?>

热门栏目