| 
 | 
 
       PHP生成图片缩略图_[PHP教程]                                           					要使用PHP生成图片缩略图,要保证你的PHP服务器安装了GD2图形库 使用一个类生成图片的缩略图,类的源码见下文
 
  调用此类的方法: resizeimage = new resizeimage("图片源文件地址", "200", "100", "0","缩略图地址"); //就只用上面的一句话,就能生成缩略图,其中,源文件和缩略图地址可以相同,200,100分别代表宽和高
 
  //使用如下类就可以生成图片缩略图,
  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            //宽度优先             {                 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            {                 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;     } } ?>
  			                                       
 
 
 
 |