《:PHP生成图片缩略图功能示例》要点:
本文介绍了:PHP生成图片缩略图功能示例,希望对您有用。如果有疑问,可以联系我们。
本文实例讲述了PHP生成图片缩略图功能.分享给大家供大家参考,具体如下:PHP实例
完整代码如下(为方便阅读,代码使用http://tools.jb51.net/code/phpformat进行了格式化处理):PHP实例
<?PHP /* * Created on 2011-3-18 * * To change the template for this generated file go to * Window - Preferences - PHPeclipse - PHP - Code Templates */ /*构造函数-生成缩略图+水印,参数说明: $srcFile-图片文件名,$dstFile-另存文件名,$markwords-水印文字,$markimage-水印图片,$dstW-图片保存宽度,$dstH-图片保存高度,$rate-图片保存品质*/ makethumb("1.jpg","aa/b.jpg","50","50"); function makethumb($srcFile,$dstFile,$dstW,$dstH,$rate = 100,$markwords = null,$markimage = null) { $data = GetimageSize($srcFile); switch ($data[2]) { case 1: $im = @ImageCreateFromGIF($srcFile); break; case 2: $im = @ImageCreateFromJPEG($srcFile); break; case 3: $im = @imagecreatefrompng($srcFile); break; } if (!$im) return False; $srcW = ImageSX($im); $srcH = ImageSY($im); $dstX = 0; $dstY = 0; if ($srcW * $dstH > $srcH * $dstW) { $fdstH = round($srcH * $dstW / $srcW); $dstY = floor(($dstH - $fdstH) / 2); $fdstW = $dstW; } else { $fdstW = round($srcW * $dstH / $srcH); $dstX = floor(($dstW - $fdstW) / 2); $fdstH = $dstH; } $ni = ImageCreateTrueColor($dstW,$dstH); $dstX = ($dstX < 0) ? 0 : $dstX; $dstY = ($dstX < 0) ? 0 : $dstY; $dstX = ($dstX > ($dstW / 2)) ? floor($dstW / 2) : $dstX; $dstY = ($dstY > ($dstH / 2)) ? floor($dstH / s) : $dstY; $white = ImageColorAllocate($ni,255,255); $black = ImageColorAllocate($ni,0); imagefilledrectangle($ni,$white); // 填充背景色 ImagecopyResized($ni,$im,$dstX,$dstY,$fdstW,$fdstH,$srcW,$srcH); if ($markwords != null) { $markwords = iconv("gb2312","UTF-8",$markwords); //转换文字编码 ImageTTFText($ni,20,30,450,560,$black,"simhei.ttf",$markwords); //写入文字水印 //参数依次为,文字大小|偏转度|横坐标|纵坐标|文字颜色|文字类型|文字内容 } elseif ($markimage != null) { $wimage_data = GetimageSize($markimage); switch ($wimage_data[2]) { case 1: $wimage = @ImageCreateFromGIF($markimage); break; case 2: $wimage = @ImageCreateFromJPEG($markimage); break; case 3: $wimage = @imagecreatefrompng($markimage); break; } imagecopy($ni,$wimage,500,88,31); //写入图片水印,水印图片大小默认为88*31 imagedestroy($wimage); } ImageJpeg($ni,$rate); ImageJpeg($ni,$srcFile,$rate); imagedestroy($im); imagedestroy($ni); } ?>
PS:这里再为大家推荐几款比较实用的图片处理工具供大家参考使用:PHP实例
在线图片转换BASE64工具:
http://tools.jb51.net/transcoding/img2base64PHP实例
ICO图标在线生成工具:
http://tools.jb51.net/aideddesign/ico_imgPHP实例
在线Email邮箱图标制作工具:
http://tools.jb51.net/email/emaillogoPHP实例
在线图片格式转换(jpg/bmp/gif/png)工具:
http://tools.jb51.net/aideddesign/picextPHP实例
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP图形与图片操作技巧汇总》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《PHP字符串(string)用法总结》、《PHP+MysqL数据库操作入门教程》及《PHP常见数据库操作技巧汇总》PHP实例