<?php   
/*输入 需要处理图片的 文件名，生成新图片的保存文件名，生成新图片的宽，生成新图片的高*/
 function simage($background,$width,$height,$newfile,$type) { 
 list($s_w,$s_h)=getimagesize($background);//获取原图片高度、宽度
 if($type==1){
 if ($width && ($s_w < $s_h)) {
 $width = ($height / $s_h) * $s_w;
 } else {
 $height = ($width / $s_w) * $s_h;
    };
 };
 $imgtype  =  substr(strrchr($background,'.'),1);
 $new=imagecreatetruecolor($width,$height);
 switch($imgtype){
 case jpeg:
 $img=imagecreatefromjpeg($background);
 break;
 case jpg:
 $img=imagecreatefromjpeg($background);
 break;
 case png:
 $img=imagecreatefrompng($background);
 imagesavealpha($img,true);//这里很重要;
 imagealphablending($new,false);//这里很重要,意思是不合并颜色,直接用$img图像颜色替换,包括透明色;
 imagesavealpha($new,true);//这里很重要,意思是不要丢了$thumb图像的透明色;
 break;
 case gif:
 $img=imagecreatefromgif($background);
 break;
 };
 imagecopyresampled($new,$img,0,0,0,0,$width,$height,$s_w,$s_h);
 switch($imgtype){
 case jpeg:
 imagejpeg($new,$newfile);
 break;
 case jpg:
 imagejpeg($new,$newfile);
 break;
 case png:
 imagepng($new,$newfile);
 break;
 case gif:
 imagegif($new,$newfile);
 break;
 };
 imagedestroy($new);
 imagedestroy($img);
 }
