微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

《: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实例

希望本文所述对大家PHP程序设计有所帮助.PHP实例

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐