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 ADODB使用方法集锦
Mar 25 PHP
php 表单数据的获取代码
Mar 10 PHP
PHP获取MAC地址的函数代码
Sep 11 PHP
php 伪静态之IIS篇
Jun 02 PHP
PHP的魔术常量__METHOD__简介
Jul 08 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
Mar 03 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
Mar 12 PHP
php通过执行CutyCapt命令实现网页截图的方法
Sep 30 PHP
php中strlen和mb_strlen用法实例分析
Nov 12 PHP
PHP封装curl的调用接口及常用函数详解
May 31 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
如何用PHP websocket实现网页实时聊天
May 26 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入门学习知识点六 PHP文件的读写操作代码
2011/07/14 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
2014/08/19 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
php解析url并得到url中的参数及获取url参数的四种方式
2015/10/26 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
javascript dom 操作详解 js加强
2009/07/13 Javascript
用dtree实现树形菜单 dtree使用说明
2011/10/17 Javascript
JavaScript面向对象的实现方法小结
2015/04/14 Javascript
Bootstrap基础学习
2015/06/16 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
2016/05/27 Javascript
jQuery弹出下拉列表插件(实现kindeditor的@功能)
2016/08/16 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
vue实现条件叠加搜索的解决方法
2019/05/28 Javascript
js生成1到100的随机数最简单的实现方法
2020/02/07 Javascript
如何基于js判断浏览器版本
2020/02/20 Javascript
使用Vant完成DatetimePicker 日期的选择器操作
2020/11/12 Javascript
python 链接和操作 memcache方法
2017/03/04 Python
神经网络理论基础及Python实现详解
2017/12/15 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
英国专业美容产品在线:Mylee(从指甲到脱毛)
2020/07/06 全球购物
广州迈达威.net面试题目
2012/03/10 面试题
涉外文秘个人求职的自我评价
2013/10/07 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
办公室员工岗位工作职责
2014/03/10 职场文书
企业文化建设实施方案
2014/03/22 职场文书
七夕情人节促销方案
2014/06/07 职场文书
施工单位安全责任书
2014/07/24 职场文书
无私奉献演讲稿
2014/09/04 职场文书
大雁塔英文导游词
2015/02/10 职场文书
奖励申请报告范文
2015/05/15 职场文书
一封真诚的自荐信帮你赢得机会
2019/05/07 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
z-index不起作用
2021/03/31 HTML / CSS