源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

PHP图片等比例缩放生成缩略图函数分享

  • 时间:2021-05-01 01:09 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PHP图片等比例缩放生成缩略图函数分享
[u]复制代码[/u] 代码如下:
<?php     /*     *@im     //需要缩放的图片资源     *@filetype //制作的缩略图文件类型     *@dstimW   //缩放的图片的宽度     *@dstimH  //缩放的图片的高度     *@thumbname //缩略图文件名字 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();     } } ?>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部