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 相关文章推荐
深入了解php4(1)--回到未来
Oct 09 PHP
PHP 中的面向对象编程:通向大型 PHP 工程的办法
Dec 03 PHP
php中判断一个字符串包含另一个字符串的方法
Mar 19 PHP
php array_intersect比array_diff快(附详细的使用说明)
Jul 03 PHP
yii操作session实例简介
Jul 31 PHP
php常见的魔术方法详解
Dec 25 PHP
PHP反射API示例分享
Oct 08 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
Nov 04 PHP
PHP模拟http请求的方法详解
Nov 09 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
Jun 13 PHP
PHP实现cookie跨域session共享的方法分析
Aug 23 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
经典的PHPer为什么被认为是草根?
2007/04/02 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
2013/05/07 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
2014/01/09 Javascript
jQuery级联操作绑定事件实例
2014/09/02 Javascript
javascript实现全局匹配并替换的方法
2015/04/27 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
JS创建对象的写法示例
2016/11/04 Javascript
兼容浏览器的js事件绑定函数(详解)
2017/05/09 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
vue中使用better-scroll实现滑动效果及注意事项
2018/11/15 Javascript
2019年度web前端面试题总结(主要为Vue面试题)
2020/01/12 Javascript
es6数组的flat(),flatMap()函数用法实例分析
2020/04/18 Javascript
用vue 实现手机触屏滑动功能
2020/05/28 Javascript
Python OpenCV 使用滑动条来调整函数参数的方法
2019/07/08 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
香港化妆品经销商:我的公主
2016/08/05 全球购物
测量实习生自我鉴定
2013/09/19 职场文书
经典演讲稿范文
2013/12/30 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
小学教师先进事迹材料
2014/12/15 职场文书
婚礼新人答谢词
2015/01/04 职场文书
个人维稳承诺书
2015/05/04 职场文书
辩护词范文大全
2015/05/21 职场文书
学生会副主席竞选稿
2015/11/19 职场文书
作文之亲情600字
2019/09/23 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android
利用Python判断整数是否是回文数的3种方法总结
2021/07/07 Python