网络编程 
首页 > 网络编程 > 浏览文章

生成缩略图

(编辑:jimmy 日期: 2024/11/18 浏览:3 次 )

生成缩略图 $tx=GetImageSize($sample);
  if($tx[0]<=$tx[1] and $tx[1]>=120){
     $height=120;
     $width=intval($height*$tx[0]/$tx[1]);
  }
  if($tx[0]>=$tx[1] and $tx[0]>=100){
     $width=100;
     $height=intval($width*$tx[1]/$tx[0]);
  }
  if($tx[0]<100 and $tx[1]<120){
     $width=$tx[0];
     $height=$tx[1];
  }

  makethumb2($sample,$target,$width,$height);

  // $srcFile: 源文件
  // $dstFile: 目标文件
  // $dstW: 目标图片宽度
  // $dstH: 目标文件高度
  function makethumb2($srcFile,$dstFile,$dstW,$dstH){
           $data=GetImageSize($srcFile,&$info);
           switch($data[2]){
                  case 1:
                       $im=@ImageCreateFromGIF($srcFile);
                       break;
                  case 2:
                       $im=@ImageCreateFromJPEG($srcFile);
                       break;
                  case 3:
                       $im=@ImageCreateFromPNG($srcFile);
                       break;
           }
           $srcW=ImageSX($im);
           $srcH=ImageSY($im);
           $ni=ImageCreate($dstW,$dstH);
           ImageCopyResized($ni,$im,0,0,0,0,$dstW,$dstH,$srcW,$srcH);
           ImageJpeg($ni,$dstFile);
           // 如果需要输出到浏览器,那么将上一句改为ImageJpeg($ni);
           // 如果需要其它格式的图片,改动最后一句就可以了
  }
上一篇:模拟xcopy的函数
下一篇:一个目录遍历函数