- /*
- *@im //需要縮放的圖片資源
- *@filetype //製作的縮圖檔案類型
- *@dstimW //縮放的圖片的寬度
- *@dstimH //縮放的圖片的高度
- *@thumbname //縮圖檔案名稱字
- // WWW.JBXUE.COM
- function makethumb($im,$dstimW,$dstimH,$thumbname ,$filetype){
- //擷取im的寬度和高度
- $pic_W=imagesx($im);
- $pic_H=imagesy($im);
- $arr = array();
- swith($filetype){
- case 'jpg':
- $arr[$filetype]="imagejpeg";
- break;
- case 'png';
- $arr[$filetype]="imagepng";
- break;
- case 'jif';
- $arr[$filetype]="imagegif";
- }
- if(($dstimgW && $dstimgW<$pic_W) || ($dstimgH && $dstimgH<$pic_H) ){
- if($dstimgW && $dstimgW<$pic_W){
- $dsimgWratio = $dstimgW / $pic_w;
- $resizereagW =true;
- }
- if($dstimgH && $ $dstimgH <$pic_H){
- $dsimgHratio = $dstimgH/$pic_H;
- $resizerreagH =true;
- }
- //縮圖寬高和原圖寬高比,取最小的那個
- if($resizereagW && $resizerreagH){
- if($dsimgWratio<$dsimgHratio)
- $radio = $dsimgWratio;
- else
- $radio = $dsimgHratio;
- }
- if($resizereagW && !$resizerreagH ){
- $radio = $dsimgWratio;
- }
- if(!$resizereagW && $resizerreagH){
- $radio = $dsimgHratio ;
- }
- $imgnewW = $pic_W * $radio;
- $imgnewH = $pic_H * $radio;
- if(function_exists("imgcopyresampled")){
- //建立目標資源畫布
- $dst = imagecreatetruecolor ($imgnewW, $imgnewH);
- imagecopyresampled ($dst,$im,0,0,0,0,$imgnewW,$imgnewH,$pic_W,$pic_H);
- }else{
- $dst=imagecreate($imgnewW, $imgnewH);
- imagecopyresized ($dst, $im,0,0,0,0,$imgnewW,$imgnewH,$imgnewH,$pic_W,$pic_H);
- }
- $arr[$filetype]($dst,$thumbname.".$filetype");
- imagedestroy ($dst);
- }else{//縮圖自身的寬和高已經大於了原圖的寬和高
- //則縮圖的寬和縮減的高就是原圖的寬和原圖的高
- $arr[$filetype]($im,$thumbname.".$filetype");
- imagedestroy();
- }
- }
- ?>
複製代碼 |