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 分页函数multi() discuz
Jun 21 PHP
Ajax+PHP 边学边练 之二 实例
Nov 24 PHP
php 获取客户端的真实ip
Nov 30 PHP
php 数组动态添加实现代码(最土团购系统的价格排序)
Dec 30 PHP
php引用地址改变变量值的问题
Mar 23 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
Sep 05 PHP
PHP管理内存函数 memory_get_usage()使用介绍
Sep 23 PHP
php判断正常访问和外部访问的示例
Feb 10 PHP
php实现下载限制速度示例分享
Feb 13 PHP
php计算年龄精准到年月日
Nov 17 PHP
Zend Framework教程之配置文件application.ini解析
Mar 10 PHP
php格式文件打开的四种方法
Feb 24 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
PHP5 安装方法
2007/01/15 PHP
php 验证码制作(网树注释思想)
2009/07/20 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
JavaScript 对象、函数和继承
2009/07/07 Javascript
js根据给定的日期计算当月有多少天实现思路及代码
2013/02/25 Javascript
JS 对输入框进行限制(常用的都有)
2013/07/30 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
用svg制作富有动态的tooltip
2015/07/17 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
2016/06/03 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
2016/08/10 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
利用vue.js插入dom节点的方法
2017/03/15 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
2017/04/07 Javascript
vue微信分享 vue实现当前页面分享其他页面
2017/12/02 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
Vue中如何实现proxy代理
2018/04/20 Javascript
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
使用pyshp包进行shapefile文件修改的例子
2019/12/06 Python
Python rabbitMQ如何实现生产消费者模式
2020/08/24 Python
canvas之万花筒效果的简单实现(推荐)
2016/08/16 HTML / CSS
Philosophy美国官网:美国美容品牌
2016/08/15 全球购物
Contém1g官网:巴西彩妆品牌
2020/01/17 全球购物
晚归检讨书
2014/02/19 职场文书
高中军训感想300字
2014/03/04 职场文书
行政部工作岗位职责范本
2014/03/05 职场文书
初一学生评语大全
2014/04/24 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
营业用房租赁协议书
2014/11/26 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
2015年质量管理工作总结范文
2015/05/18 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
Pygame游戏开发之太空射击实战敌人精灵篇
2022/08/05 Python