thinkPHP框架实现图像裁剪、缩放、加水印的方法


Posted in PHP onMarch 14, 2017

本文实例讲述了thinkPHP框架实现图像裁剪、缩放、加水印的方法。分享给大家供大家参考,具体如下:

ThinkPHP 图片处理函数,需要文字水印字体,可在windows下 控制面板 > 大图标(右上角) > 字体 找到需要的字体

/**
* 图像的裁剪、缩放、加水印
* @param string $path    路径
* @param int $width   裁剪的宽度/限制的高度或宽度,当有$height值时此值为图片的宽度,否则为限制的宽度或高度
* @param int $height   [可选]裁剪的高度
* @param boolean $water   [可选]是否加水印
* @param int $word    [可选]水印文字
*/
function zoom_image($path,$width = 300,$height = null,$water = null,$word = 'water'){
  $image = new \Think\Image();
  $image->open($path);
  $imgWidth = $image->width();
  $imgHeight = $image->height();
  // 限制尺寸
  if($width and !$height){
    $maxSize = $width;
    // 宽度或高度大于规定尺寸时
    if($imgWidth > $maxSize or $imgHeight > $maxSize){
      $size = image_min_width($imgWidth,$imgHeight,$maxSize);
      $image->thumb($size['width'], $size['height']);
      $do = true;
      $dowater = true;
    }
  // 裁剪固定尺寸
  }else if($width and $height){
    $size = image_min_width($imgWidth,$imgHeight,$width);
    $image->thumb($size['width'], $size['height'])->crop($width, $height);
    $do = true;
    $dowater = true;
  }
  if($dowater and $water and $word){
    $image->text($word,'./Public/images/arial.ttf',20,'#dddddd', \Think\Image::IMAGE_WATER_SOUTHEAST,-10);
  }
  // 未操作则不保存
  if($do){
    $image->save($path);
  }
}
PHP 相关文章推荐
PHP用户指南-cookies部分
Oct 09 PHP
Linux下ZendOptimizer的安装与配置方法
Apr 12 PHP
php学习之数据类型之间的转换介绍
Jun 09 PHP
PHP经典面试题集锦
Mar 19 PHP
php生成不重复随机数、数组的4种方法分享
Mar 30 PHP
PHP响应post请求上传文件的方法
Dec 17 PHP
ThinkPHP使用Ueditor的方法详解
May 20 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
Aug 19 PHP
如何直接访问php实例对象中的private属性详解
Oct 12 PHP
php调用云片网接口发送短信的实现方法
Oct 25 PHP
PHP获取星期几的常用方法小结
Dec 18 PHP
php实现的PDO异常处理操作分析
Dec 27 PHP
ThinkPHP框架分布式数据库连接方法详解
Mar 14 #PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
Mar 14 #PHP
thinkphp3.2实现跨控制器调用其他模块的方法
Mar 14 #PHP
Yii2下点击验证码的切换实例代码
Mar 14 #PHP
php分页查询的简单实现代码
Mar 14 #PHP
php实现购物车产品删除功能(2)
Jul 23 #PHP
php实现产品加入购物车功能(1)
Jul 23 #PHP
You might like
Syphon 虹吸式咖啡壶冲煮–拨动法
2021/03/03 冲泡冲煮
php计算当前程序执行时间示例
2014/04/24 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
2017/11/06 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
向当前style sheet中插入一个新的style实现方法
2013/04/01 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
vue中使用cookies和crypto-js实现记住密码和加密的方法
2018/10/18 Javascript
ES6知识点整理之函数数组参数的默认值及其解构应用示例
2019/04/17 Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
2019/09/17 Javascript
细述Javascript的加法运算符的具体使用
2019/10/18 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
[02:49]2014DOTA2电竞也是体育项目! 势要把荣誉带回中国!
2014/07/20 DOTA
python 中split 和 strip的实例详解
2017/07/12 Python
Python subprocess模块常见用法分析
2018/06/12 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
python库matplotlib绘制坐标图
2019/10/18 Python
pytorch实现mnist数据集的图像可视化及保存
2020/01/14 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
即时搜索数百万张门票:SeatsForEveryone.com
2018/08/26 全球购物
eBay加拿大站:eBay.ca
2019/06/20 全球购物
计算机应用职专应届生求职信
2013/11/12 职场文书
大学生村官工作感言
2014/01/10 职场文书
求职自荐信的格式
2014/04/07 职场文书
生日宴会策划方案
2014/06/03 职场文书
文艺晚会策划方案
2014/06/11 职场文书
生物科学专业自荐书
2014/06/20 职场文书
大学生党员批评与自我批评
2014/09/28 职场文书
丽江古城导游词
2015/02/03 职场文书
社区母亲节活动总结
2015/02/10 职场文书
2015新生加入学生会自荐书
2015/03/24 职场文书
三严三实·严以修身心得体会
2016/01/15 职场文书
python读取pdf格式文档的实现代码
2021/04/01 Python