www.adminn.cn
站长正能量分享网!

php生成图片缩略图功能示例

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

本文实例讲述了php生成图片缩略图功能。分享给大家供大家参考,具体如下:

完整代码如下:

  1. <?php 
  2. /* 
  3.  * Created on 2011-3-18 
  4.  * 
  5.  * To change the template for this generated file go to 
  6.  * Window – Preferences – PHPeclipse – PHP – Code Templates 
  7. */ 
  8. /*构造函数-生成缩略图+水印,参数说明: 
  9. $srcFile-图片文件名, 
  10. $dstFile-另存文件名, 
  11. $markwords-水印文字, 
  12. $markimage-水印图片, 
  13. $dstW-图片保存宽度, 
  14. $dstH-图片保存高度, 
  15. $rate-图片保存品质*/ 
  16. makethumb("1.jpg","aa/b.jpg","50","50"); 
  17. functionmakethumb($srcFile,$dstFile,$dstW,$dstH,$rate= 100,$markwords= null,$markimage= null) { 
  18.   $data=GetImageSize($srcFile); 
  19.   switch($data[2]) { 
  20.     case1: 
  21.       $im= @ImageCreateFromGIF($srcFile); 
  22.     break
  23.     case2: 
  24.       $im= @ImageCreateFromJPEG($srcFile); 
  25.     break
  26.     case3: 
  27.       $im= @ImageCreateFromPNG($srcFile); 
  28.     break
  29.   } 
  30.   if(!$im)returnFalse; 
  31.   $srcW= ImageSX($im); 
  32.   $srcH= ImageSY($im); 
  33.   $dstX= 0; 
  34.   $dstY= 0; 
  35.   if($srcW*$dstH>$srcH*$dstW) { 
  36.     $fdstH=round($srcH*$dstW/$srcW); 
  37.     $dstY=floor(($dstH$fdstH) / 2); 
  38.     $fdstW=$dstW
  39.   }else
  40.     $fdstW=round($srcW*$dstH/$srcH); 
  41.     $dstX=floor(($dstW$fdstW) / 2); 
  42.     $fdstH=$dstH
  43.   } 
  44.   $ni= ImageCreateTrueColor($dstW,$dstH); 
  45.   $dstX= ($dstX< 0) ? 0 :$dstX
  46.   $dstY= ($dstX< 0) ? 0 :$dstY
  47.   $dstX= ($dstX> ($dstW/ 2)) ?floor($dstW/ 2) :$dstX
  48.   $dstY= ($dstY> ($dstH/ 2)) ?floor($dstH/ s) :$dstY
  49.   $white= ImageColorAllocate($ni, 255, 255, 255); 
  50.   $black= ImageColorAllocate($ni, 0, 0, 0); 
  51.   imagefilledrectangle($ni, 0, 0,$dstW,$dstH,$white);// 填充背景色 
  52.   ImageCopyResized($ni,$im,$dstX,$dstY, 0, 0,$fdstW,$fdstH,$srcW,$srcH); 
  53.   if($markwords!= null) { 
  54.     $markwords= iconv("gb2312","UTF-8",$markwords); 
  55.     //转换文字编码 
  56.     ImageTTFText($ni, 20, 30, 450, 560,$black,"simhei.ttf",$markwords);//写入文字水印 
  57.     //参数依次为,文字大小|偏转度|横坐标|纵坐标|文字颜色|文字类型|文字内容 
  58.       
  59.   }elseif($markimage!= null) { 
  60.     $wimage_data=GetImageSize($markimage); 
  61.     switch($wimage_data[2]) { 
  62.       case1: 
  63.         $wimage= @ImageCreateFromGIF($markimage); 
  64.       break
  65.       case2: 
  66.         $wimage= @ImageCreateFromJPEG($markimage); 
  67.       break
  68.       case3: 
  69.         $wimage= @ImageCreateFromPNG($markimage); 
  70.       break
  71.     } 
  72.     imagecopy($ni,$wimage, 500, 560, 0, 0, 88, 31);//写入图片水印,水印图片大小默认为88*31 
  73.     imagedestroy($wimage); 
  74.   } //phpfensi.com 
  75.   ImageJpeg($ni,$dstFile,$rate); 
  76.   ImageJpeg($ni,$srcFile,$rate); 
  77.   imagedestroy($im); 
  78.   imagedestroy($ni); 
  79. ?>

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php生成图片缩略图功能示例》
文章链接:https://www.adminn.cn/news/8181.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

2次开发,学习研究使用!扫码支付后联系QQ677123发货!

支付宝扫一扫打赏