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和PHP5共存于一系统
Nov 17 PHP
解决中英文字符串长度问题函数
Jan 16 PHP
一贴学会PHP 新手入门教程
Aug 03 PHP
php下通过伪造http头破解防盗链的代码
Jul 03 PHP
php中转义mysql语句的实现代码
Jun 24 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
Oct 23 PHP
php上传图片生成缩略图(GD库)
Jan 06 PHP
浅析Yii2中GridView常见操作
Apr 22 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
May 16 PHP
PHP通过加锁实现并发情况下抢码功能
Aug 10 PHP
Laravel框架控制器的request与response用法示例
Sep 30 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
Oct 03 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新手上路(四)
2006/10/09 PHP
php获取某个目录大小的代码
2008/09/10 PHP
php下连接ftp实现文件的上传、下载、删除文件实例代码
2010/06/03 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
2014/07/22 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
PHP正则验证Email的方法
2015/06/15 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
jQuery oLoader实现的加载图片和页面效果
2015/03/14 Javascript
JavaScript随机生成信用卡卡号的方法
2015/04/07 Javascript
在Mac OS下使用Node.js的简单教程
2015/06/24 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
vue项目实战总结篇
2018/02/11 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
js的对象与函数详解
2019/01/21 Javascript
Vue中错误图片的处理的实现代码
2019/11/07 Javascript
js实现上下左右键盘控制div移动
2020/01/16 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
2020/09/21 Javascript
[03:02]2020完美世界城市挑战赛(秋季赛)总决赛回顾
2021/03/11 DOTA
Python实现把回车符\r\n转换成\n
2015/04/23 Python
python中的随机函数random的用法示例
2018/01/27 Python
使用Python设计一个代码统计工具
2018/04/04 Python
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
2018/09/13 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
python图像和办公文档处理总结
2019/05/28 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
pytorch ImageFolder的覆写实例
2020/02/20 Python
python实现经纬度采样的示例代码
2020/12/10 Python
Viking Direct荷兰:购买办公用品
2019/06/20 全球购物
资料员的岗位职责
2013/11/20 职场文书
编辑找工作求职信分享
2014/01/03 职场文书
网络研修随笔感言
2014/02/17 职场文书
指导老师鉴定意见
2015/06/05 职场文书