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 相关文章推荐
利用discuz实现PHP大文件上传应用实例代码
Nov 14 PHP
PHP中require和include路径问题详解
Dec 25 PHP
php实现专业获取网站SEO信息类实例
Apr 02 PHP
php的闭包(Closure)匿名函数初探
Feb 14 PHP
Yii2中OAuth扩展及QQ互联登录实现方法
May 16 PHP
基于thinkPHP实现的微信自定义分享功能示例
Sep 23 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
thinkPHP框架实现多表查询的方法
Jun 14 PHP
PHP常用函数之base64图片上传功能详解
Oct 21 PHP
Yii框架getter与setter方法功能与用法分析
Oct 22 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 PHP
PHP数组Key强制类型转换实现原理解析
Sep 01 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设计模式 Mediator (中介者模式)
2011/06/26 PHP
解析link_mysql的php版
2013/06/30 PHP
PHP解码unicode编码的中文字符代码分享
2014/08/13 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
你需要知道的JavsScript可以做什么?
2007/06/29 Javascript
jquery 选择器部分整理
2009/10/28 Javascript
JavaScript中的prototype使用说明
2010/04/13 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
2015/09/04 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
2016/01/06 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
JS简单实现仿百度控制台输出信息效果
2016/09/04 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
js实现消息滚动效果
2017/01/18 Javascript
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
浅析JS中常用类型转换及运算符表达式
2017/07/23 Javascript
在NPM发布自己造的轮子的方法步骤
2019/03/09 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
2019/10/30 Javascript
Windows下安装 node 的版本控制工具 nvm
2020/02/06 Javascript
原生js滑动轮播封装
2020/07/31 Javascript
如何利用pygame实现简单的五子棋游戏
2019/12/29 Python
在python中logger setlevel没有生效的解决
2020/02/21 Python
python 用struct模块解决黏包问题
2020/11/07 Python
python 实现百度网盘非会员上传超过500个文件的方法
2021/01/07 Python
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
2013/01/31 HTML / CSS
Agoda香港:全球特价酒店预订
2017/05/07 全球购物
美国全球旅游运营商:Pacific Holidays
2018/06/18 全球购物
毕业生找工作的自我评价
2013/10/18 职场文书
电子商务专业学生的学习自我评价
2013/10/27 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
python数据库批量插入数据的实现(executemany的使用)
2021/04/30 Python