PHP 生成缩略图的类_第1页
PHP 生成缩略图的类_第2页
PHP 生成缩略图的类_第3页
PHP 生成缩略图的类_第4页
PHP 生成缩略图的类_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHP生成缩略图的类PHP代码<?php/***功能:生成缩略图*作者:phpox*日期:ThuMay1709:57:05CST2007*/classCreatMiniature{//公共变量var$srcFile="";//原图var$echoType;//输出图片类型,link--不保存为文件;file--保存为文件var$im="";//临时变量var$srcW="";//原图宽var$srcH="";//原图高//设置变量及初始化functionSetVar($srcFile,$echoType){if(!file_exists($srcFile)){echo'源图片文件不存在!';exit();}$this->srcFile=$srcFile;$this->echoType=$echoType;$info="";$data=GetImageSize($this->srcFile,$info);switch($data[2]){case1:if(!function_exists("imagecreatefromgif")){echo"你的GD库不能使用GIF格式的图片,请使用Jpeg或PNG格式!<ahref='javascript:go(-1);'>返回</a>";exit();}$this->im=ImageCreateFromGIF($this->srcFile);break;case2:if(!function_exists("imagecreatefromjpeg")){echo"你的GD库不能使用jpeg格式的图片,请使用其它格式的图片!<ahref='javascript:go(-1);'>返回</a>";exit();}$this->im=ImageCreateFromJpeg($this->srcFile);break;case3:$this->im=ImageCreateFromPNG($this->srcFile);break;}$this->srcW=ImageSX($this->im);$this->srcH=ImageSY($this->im);}//生成扭曲型缩图functionDistortion($toFile,$toW,$toH){$cImg=$this->CreatImage($this->im,$toW,$toH,0,0,0,0,$this->srcW,$this->srcH);return$this->EchoImage($cImg,$toFile);ImageDestroy($cImg);}//生成按比例缩放的缩图functionProrate($toFile,$toW,$toH){$toWH=$toW/$toH;$srcWH=$this->srcW/$this->srcH;if($toWH<=$srcWH){$ftoW=$toW;$ftoH=$ftoW*($this->srcH/$this->srcW);}else{$ftoH=$toH;$ftoW=$ftoH*($this->srcW/$this->srcH);}if($this->srcW>$toW||$this->srcH>$toH){$cImg=$this->CreatImage($this->im,$ftoW,$ftoH,0,0,0,0,$this->srcW,$this->srcH);return$this->EchoImage($cImg,$toFile);ImageDestroy($cImg);}else{$cImg=$this->CreatImage($this->im,$this->srcW,$this->srcH,0,0,0,0,$this->srcW,$this->srcH);return$this->EchoImage($cImg,$toFile);ImageDestroy($cImg);}}//生成最小裁剪后的缩图functionCut($toFile,$toW,$toH){$toWH=$toW/$toH;$srcWH=$this->srcW/$this->srcH;if($toWH<=$srcWH){$ctoH=$toH;$ctoW=$ctoH*($this->srcW/$this->srcH);}else{$ctoW=$toW;$ctoH=$ctoW*($this->srcH/$this->srcW);}$allImg=$this->CreatImage($this->im,$ctoW,$ctoH,0,0,0,0,$this->srcW,$this->srcH);$cImg=$this->CreatImage($allImg,$toW,$toH,0,0,($ctoW-$toW)/2,($ctoH-$toH)/2,$toW,$toH);return$this->EchoImage($cImg,$toFile);ImageDestroy($cImg);ImageDestroy($allImg);}//生成背景填充的缩图functionBackFill($toFile,$toW,$toH,$bk1=255,$bk2=255,$bk3=255){$toWH=$toW/$toH;$srcWH=$this->srcW/$this->srcH;if($toWH<=$srcWH){$ftoW=$toW;$ftoH=$ftoW*($this->srcH/$this->srcW);}else{$ftoH=$toH;$ftoW=$ftoH*($this->srcW/$this->srcH);}if(function_exists("imagecreatetruecolor")){@$cImg=ImageCreateTrueColor($toW,$toH);if(!$cImg){$cImg=ImageCreate($toW,$toH);}}else{$cImg=ImageCreate($toW,$toH);}$backcolor=imagecolorallocate($cImg,$bk1,$bk2,$bk3);//填充的背景颜色ImageFilledRngle($cImg,0,0,$toW,$toH,$backcolor);if($this->srcW>$toW||$this->srcH>$toH){$proImg=$this->CreatImage($this->im,$ftoW,$ftoH,0,0,0,0,$this->srcW,$this->srcH);if($ftoW<$toW){ImageCopy($cImg,$proImg,($toW-$ftoW)/2,0,0,0,$ftoW,$ftoH);}elseif($ftoH<$toH){ImageCopy($cImg,$proImg,0,($toH-$ftoH)/2,0,0,$ftoW,$ftoH);}else{ImageCopy($cImg,$proImg,0,0,0,0,$ftoW,$ftoH);}}else{ImageCopyMerge($cImg,$this->im,($toW-$ftoW)/2,($toH-$ftoH)/2,0,0,$ftoW,$ftoH,100);}return$this->EchoImage($cImg,$toFile);ImageDestroy($cImg);}functionCreatImage($img,$creatW,$creatH,$dstX,$dstY,$srcX,$srcY,$srcImgW,$srcImgH){if(function_exists("imagecreatetruecolor")){@$creatImg=ImageCreateTrueColor($creatW,$creatH);if($creatImg)ImageCopyResampled($creatImg,$img,$dstX,$dstY,$srcX,$srcY,$creatW,$creatH,$srcImgW,$srcImgH);else{$creatImg=ImageCreate($creatW,$creatH);ImageCopyResized($creatImg,$img,$dstX,$dstY,$srcX,$srcY,$creatW,$creatH,$srcImgW,$srcImgH);}}else{$creatImg=ImageCreate($creatW,$creatH);ImageCopyResized($creatImg,$img,$dstX,$dstY,$srcX,$srcY,$creatW,$creatH,$srcImgW,$srcImgH);}return$creatImg;}//输出图片,link---只输出,不保存文件。file--保存为文件functionEchoImage($img,$to_File){switch($this->echoType){case"link":if(function_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论