好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

基于GD2图形库的PHP生成图片缩略图类代码分享

这篇文章主要介绍了基于GD2图形库的PHP生成图片缩略图类代码分享,本文直接给出实现代码和使用方法,需要的朋友可以参考下

要使用PHP生成图片缩略图,要保证你的PHP服务器安装了GD2图形库 使用一个类生成图片的缩略图

1.使用方法

 

  $resizeimage  =  new  resizeimage( "图片源文件地址" ,  "200" ,  "100" ,  "0" , "缩略图地址" );  //就只用上面的一句话,就能生成缩略图,其中,源文件和缩略图地址可以相同,200,100分别代表宽和高  

2. 缩略图类代码

 

  //使用如下类就可以生成图片缩略图,     <?php  class  resizeimage  {  //图片类型   var   $type ;  //实际宽度   var   $width ;  //实际高度   var   $height ;  //改变后的宽度   var   $resize_width ;  //改变后的高度   var   $resize_height ;  //是否裁图   var   $cut ;  //源图象   var   $srcimg ;  //目标图象地址   var   $dstimg ;  //临时创建的图象   var   $im ;    function  resizeimage( $img ,  $wid ,  $hei , $c , $dstpath )  {  $this ->srcimg =  $img ;  $this ->resize_width =  $wid ;  $this ->resize_height =  $hei ;  $this ->cut =  $c ;  //图片的类型     $this ->type =  strtolower ( substr ( strrchr ( $this ->srcimg, "." ),1));    //初始化图象   $this ->initi_img();  //目标图象地址   $this  -> dst_img( $dstpath );  //--   $this ->width = imagesx( $this ->im);  $this ->height = imagesy( $this ->im);  //生成图象   $this ->newimg();  ImageDestroy ( $this ->im);  }  function  newimg()  {  //改变后的图象的比例   $resize_ratio  = ( $this ->resize_width)/( $this ->resize_height);  //实际图象的比例   $ratio  = ( $this ->width)/( $this ->height);  if (( $this ->cut)== "1" )  //裁图   {  if ( $ratio >= $resize_ratio )  //高度优先   {  $newimg  = imagecreatetruecolor( $this ->resize_width, $this ->resize_height);  imagecopyresampled( $newimg ,  $this ->im, 0, 0, 0, 0,  $this ->resize_width, $this ->resize_height, (( $this ->height)* $resize_ratio ),  $this ->height);  ImageJpeg ( $newimg , $this ->dstimg);  }  if ( $ratio < $resize_ratio )  //宽度优先   {  $newimg  = imagecreatetruecolor( $this ->resize_width, $this ->resize_height);  imagecopyresampled( $newimg ,  $this ->im, 0, 0, 0, 0,  $this ->resize_width,  $this ->resize_height,  $this ->width, (( $this ->width)/ $resize_ratio ));  ImageJpeg ( $newimg , $this ->dstimg);  }  }  else   //不裁图   {  if ( $ratio >= $resize_ratio )  {  $newimg  = imagecreatetruecolor( $this ->resize_width,( $this ->resize_width)/ $ratio );  imagecopyresampled( $newimg ,  $this ->im, 0, 0, 0, 0,  $this ->resize_width, ( $this ->resize_width)/ $ratio ,  $this ->width,  $this ->height);  ImageJpeg ( $newimg , $this ->dstimg);  }  if ( $ratio < $resize_ratio )  {  $newimg  = imagecreatetruecolor(( $this ->resize_height)* $ratio , $this ->resize_height);  imagecopyresampled( $newimg ,  $this ->im, 0, 0, 0, 0, ( $this ->resize_height)* $ratio ,  $this ->resize_height,  $this ->width,  $this ->height);  ImageJpeg ( $newimg , $this ->dstimg);  }  }  }  //初始化图象   function  initi_img()  {  if ( $this ->type== "jpg" )  {  $this ->im = imagecreatefromjpeg( $this ->srcimg);  }  if ( $this ->type== "gif" )  {  $this ->im = imagecreatefromgif( $this ->srcimg);  }  if ( $this ->type== "png" )  {  $this ->im = imagecreatefrompng( $this ->srcimg);  }  }  //图象目标地址   function  dst_img( $dstpath )  {  $full_length  =  strlen ( $this ->srcimg);    $type_length  =  strlen ( $this ->type);  $name_length  =  $full_length - $type_length ;      $name  =  substr ( $this ->srcimg,0, $name_length -1);  $this ->dstimg =  $dstpath ;      //echo $this->dstimg;   }  }  ?> 

查看更多关于基于GD2图形库的PHP生成图片缩略图类代码分享的详细内容...

  阅读:44次