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 $_ENV为空的原因分析
Jun 01 PHP
php flv视频时间获取函数
Jun 29 PHP
php cURL和Rolling cURL并发方式比较
Oct 30 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
Nov 24 PHP
PHP常用处理静态操作类
Apr 03 PHP
PHP简单生成缩略图相册的方法
Jul 29 PHP
php ajax实现文件上传进度条
Mar 29 PHP
深入理解PHP之源码目录结构与功能说明
Jun 01 PHP
浅析PHP7新功能及语法变化总结
Jun 17 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
Nov 14 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
Aug 10 PHP
PHP实现统计代码行数小工具
Sep 19 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设计模式小结
2013/02/15 PHP
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
2013/06/21 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
thinkphp普通查询与表达式查询实例分析
2014/11/24 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
背景音乐每次刷新都可以自动更换
2007/02/01 Javascript
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
2011/03/17 Javascript
JS控制日期显示的小例子
2013/11/23 Javascript
javascript创建和存储cookie示例
2014/01/07 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
javascript实现对表格元素进行排序操作
2015/11/18 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
JS基于正则表达式实现的密码强度验证功能示例
2017/09/21 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
Vue.js添加组件操作示例
2018/06/13 Javascript
JavaScript Window浏览器对象模型原理解析
2020/05/30 Javascript
python创建进程fork用法
2015/06/04 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
python3安装pip3(install pip3 for python 3.x)
2018/04/03 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
Python 从subprocess运行的子进程中实时获取输出的例子
2019/08/14 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
HTML5 Canvas之测试浏览器是否支持Canvas的方法
2015/01/01 HTML / CSS
英国知名的护肤彩妆与时尚配饰大型综合零售电商:Unineed
2016/11/21 全球购物
法学专业本科生自荐信范文
2013/12/17 职场文书
老总助理工作岗位职责
2014/02/06 职场文书
事业单位分类改革实施方案
2014/03/21 职场文书
颁奖典礼主持词
2014/03/25 职场文书
党员学习正风肃纪思想汇报
2014/09/12 职场文书
2015年挂职干部工作总结
2015/05/14 职场文书
毕业实习单位意见
2015/06/04 职场文书
忠犬八公的故事观后感
2015/06/05 职场文书
解析CSS 提取图片主题色功能(小技巧)
2021/05/12 HTML / CSS
Python获取江苏疫情实时数据及爬虫分析
2021/08/02 Python