php实现水印文字和缩略图的方法示例


Posted in PHP onDecember 29, 2016

本文实例讲述了php实现水印文字和缩略图的方法。分享给大家供大家参考,具体如下:

<?php
  $im = 'xiatian.jpg';
  $im2 = 'winter3.jpg';
  $img = getImage($im);
  $bimg = getImage($im2);
  //$image = getimagesize($im);
  //print_r($image);
  //Array ( [0] => 150 width
   /*[1] => 150 height
   [2] => 3 图片类型
   [3] => width="150" height="150"
   [bits] => 8
   [mime] => image/png )*/
  //图片复制组合------$bimg----
  imagecopy($bimg, $img, 300, 4, 0, 0, getWidth($im),getHeight($im));
  //加水印文字
  $color = imagecolorallocate($bimg,255, 255, 0);
  $str = "中国";
  $str = mb_convert_encoding($str, "html-entities","utf-8");
  imagettftext($bimg, 42, 0, rand(20,getWidth($im2)-100), rand(40,getHeight($im2)), $color, 'MSYH.TTF', $str);
  //剪切,重新生成缩略图
  $new = imagecreatetruecolor(50, 50);
  imagecopyresized($new, $bimg, 0, 0, 0, 0, 50, 50, getWidth($im2), getHeight($im2));
  //输出到浏览器
  header("Content-Type: image/jpeg");
  //如果为png图片也可正常显示,浏览器负责正确解析
  imagejpeg($new);
  //生成大图,小图
  imagejpeg($new,'small.jpg');
  imagejpeg($bimg,'big.jpg');
  function getImage($img_file) {
    $image = getimagesize($img_file);
    //判断是那种图片类型
    switch($image[2]) {
      case 1:
        $img = @imagecreatefromgif($img_file);
        break;
      case 2:
        $img = @imagecreatefromjpeg($img_file);
        break;
      case 3:
        $img = @imagecreatefrompng($img_file);
        break;
    }
    return $img;
  }
  function getWidth($img_file) {
    $image = getimagesize($img_file);
    return $image[0];
  }
  function getHeight($img_file) {
    $image = getimagesize($img_file);
    return $image[1];
  }
?>

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

PHP 相关文章推荐
PHP session有效期问题
Apr 26 PHP
PHP curl_setopt()函数实例代码与参数分析
Jun 02 PHP
php中存储用户ID和密码到mysql数据库的方法
Feb 06 PHP
php实现下载限制速度示例分享
Feb 13 PHP
thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
May 19 PHP
浅谈PHP安全防护之Web攻击
Jan 03 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
PHP JWT初识及其简单示例
Oct 10 PHP
Laravel核心解读之异常处理的实践过程
Feb 24 PHP
php链式操作的实现方式分析
Aug 12 PHP
Thinkphp5框架ajax接口实现方法分析
Aug 28 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
Sep 12 PHP
PHPMailer发送邮件
Dec 28 #PHP
PHP实现简单ajax Loading加载功能示例
Dec 28 #PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
Dec 28 #PHP
PHP执行shell脚本运行程序不产生core文件的方法
Dec 28 #PHP
PHP MYSQL简易交互式站点开发
Dec 27 #PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
Dec 27 #PHP
PHP面向对象程序设计类的定义与用法简单示例
Dec 27 #PHP
You might like
最令PHP初学者头痛的十四个问题
2006/07/12 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
许愿墙中用到的函数
2006/10/07 Javascript
键盘控制事件应用教程大全
2006/11/24 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
2013/11/18 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
js点击button按钮跳转到另一个新页面
2014/10/10 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
mui上拉加载功能实例详解
2017/04/13 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
angular 服务随记小结
2019/05/06 Javascript
微信小程序如何引用外部js,外部样式,公共页面模板
2019/07/23 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
凯伦·米莲女装网上商店:Karen Millen
2017/11/07 全球购物
平面设计的岗位职责
2013/11/08 职场文书
村官学习十八大感想
2014/01/15 职场文书
男方父母婚礼答谢词
2014/01/25 职场文书
幼教求职信
2014/03/12 职场文书
《沙漠中的绿洲》教学反思
2014/04/24 职场文书
装修活动策划方案
2014/08/27 职场文书
四风个人对照检查材料思想汇报
2014/09/25 职场文书
学生检讨书如何写
2014/10/30 职场文书
防震减灾主题班会
2015/08/14 职场文书
小学体育教学随笔
2015/08/14 职场文书
2016年优秀少先队员事迹材料
2016/02/26 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python
nginx 配置缓存
2022/05/11 Servers