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中操作Excel实例代码
Apr 29 PHP
php判断手机访问还是电脑访问示例分享
Jan 20 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
May 12 PHP
PHP使用静态方法的几个注意事项
Sep 16 PHP
php中current、next与reset函数用法实例
Nov 17 PHP
php+mysql实现无限分类实例详解
Jan 15 PHP
php计算整个目录大小的方法
Jun 01 PHP
解析PHP之提取多维数组指定列的方法
Jan 03 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
Mar 15 PHP
PHP实现的简单适配器模式示例
Jun 22 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
May 29 PHP
Laravel5.1框架注册中间件的三种场景详解
Jul 09 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 面向对象的一个例子
2011/04/12 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
2019/07/15 PHP
很全的显示阴历(农历)日期的js代码
2009/01/01 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
js获取日期:昨天今天和明天、后天
2014/06/11 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
EasyUI中combobox默认值注意事项
2015/03/01 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
2015/04/26 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
2016/10/05 Javascript
微信小程序带动画弹窗组件使用方法详解
2018/11/27 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
2019/05/17 jQuery
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
Angular封装表单控件及思想总结
2019/12/11 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
用Python写的图片蜘蛛人代码
2012/08/27 Python
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
python3.4+pycharm 环境安装及使用方法
2019/06/13 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
Python环境配置实现pip加速过程解析
2020/11/27 Python
eBay瑞士购物网站:eBay.ch
2018/12/24 全球购物
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
计算机应用职专应届生求职信
2013/11/12 职场文书
《画杨桃》教学反思
2014/04/13 职场文书
经典团队口号
2014/06/06 职场文书
遗嘱范文
2015/08/07 职场文书
机械生产实习心得体会
2016/01/22 职场文书
Python快速实现一键抠图功能的全过程
2021/06/29 Python
分享几种python 变量合并方法
2022/03/20 Python
pandas中pd.groupby()的用法详解
2022/06/16 Python