Yii 使用intervention/image拓展实现图像处理功能


Posted in PHP onJune 22, 2019

一:安装intervention/image拓展

composer require intervention/image

二:上传文件

\Intervention\Image\ImageManagerStatic::make($_FILES['file']['tmp_name'])->save('upload.jpg');//file为上传表单的name名
\Intervention\Image\ImageManagerStatic::make($_FILES['file']['tmp_name'])->resize(300, 200)->save('upload.jpg');//file为上传表单的name名,并将上传的图片压缩成300,200

同时实现单图上传和多图上传

if ($_FILES['file']) {
  $image = $_FILES['file']['tmp_name'];
  if (is_array($image)) {
    //多图上传
    foreach ($image as $key => $item) {
      \Intervention\Image\ImageManagerStatic::make($item)->save($key.'upload.jpg');
    }
  } else {
    //单图上传
    \Intervention\Image\ImageManagerStatic::make($image)->save('upload.jpg');
  }
}

三:添加水印

1:添加文字水印

添加文字水印主要使用到text方法

text方法参数说明

x(可选)

x定义第一个字符的基点。默认值:0

y(可选)

y定义第一个字符的基点。默认值:0

callback(可选)

关闭字体对象的回调,回调可配置:

(1)file:配置水印字体
(2)size:配置水印大小
(3)color:配置水印颜色
(4)align:配置水印水平对齐方式
(5)valign:配置是垂直对齐方式
(6)angle:配置水印旋转角度
例:

//水印
ImageManagerStatic::make('upload.jpg')->text('水印文字',20,30,function($font){
  //配置水印字体
  $font->file(\Yii::getAlias('@webroot') . '/simsun.ttc');
  //配置水印大小
  $font->size(30);
  //配置水印颜色
  $font->color('#fff');
  //配置水印水平居左( left, right and center)
  $font->align('left');
  //配置水印垂直居下(top, bottom and middle)
  $font->valign('bottom');
  //配置水印旋转角度
  $font->angle(45);
})->save('uploadWater.jpg');

2:添加图片水印

添加图片水印主要使用到insert方法

insert方法参数说明:

source:水印图片地址

position:设置插入图像的位置,参数可配置项为:

(1)top-left (default)
(2)top
(3)top-right
(4)left
(5)center
(6)right
(7)bottom-left
(8)bottom
(9)bottom-right

x:水平偏移量,默认0

y:垂直偏移量,默认0

例:

ImageManagerStatic::make('upload.jpg')->insert('water.jpg','bottom-left',10,10)->save('uploadWater.jpg');

这里是intervention/image拓展的一些基本操作,详细可以参考: http://image.intervention.io/

总结

以上所述是小编给大家介绍的Yii 使用intervention/image拓展实现图像处理功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

PHP 相关文章推荐
php获取根域名方法汇总
Oct 28 PHP
php实现Session存储到Redis
Nov 11 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
Apr 30 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
Nov 05 PHP
php实现的http请求封装示例
Nov 08 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
Dec 05 PHP
highchart数据源纵轴json内的值必须是int(详解)
Feb 20 PHP
PHP实现的策略模式简单示例
Aug 25 PHP
php实现网页上一页下一页翻页过程详解
Jun 28 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
Oct 18 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 PHP
laravel框架中表单请求类型和CSRF防护实例分析
Nov 23 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 #PHP
PHP中strtr与str_replace函数运行性能简单测试示例
Jun 22 #PHP
PHP判断函数是否被定义的方法
Jun 21 #PHP
php用户名的密码加密更安全的方法
Jun 21 #PHP
php常用字符串查找函数strstr()与strpos()实例分析
Jun 21 #PHP
php精度计算的问题解析
Jun 21 #PHP
laravel异步监控定时调度器实例详解
Jun 21 #PHP
You might like
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
2014/11/19 PHP
php使用CutyCapt实现网页截图保存的方法
2016/10/03 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
PHP实现发送微博消息功能完整示例
2019/12/04 PHP
基于JQuery的数字改变的动画效果--可用来做计数器
2010/08/11 Javascript
JsDom 编程小结
2011/08/09 Javascript
js里怎么取select标签里的值并修改
2012/12/10 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
利用Vue.js实现checkbox的全选反选效果
2017/01/18 Javascript
如何使用Bootstrap创建表单
2017/03/29 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
2017/05/17 Javascript
微信禁止下拉查看URL的处理方法
2017/09/28 Javascript
react中Suspense的使用详解
2019/09/01 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
python实现调用其他python脚本的方法
2014/10/05 Python
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
python使用Pandas库提升项目的运行速度过程详解
2019/07/12 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
HTML5实现无刷新修改URL的方法
2019/11/14 HTML / CSS
eBay奥地利站:eBay.at
2019/07/24 全球购物
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
AURALog面试题软件测试方面
2013/10/22 面试题
货车司机岗位职责
2014/03/18 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
青年教师个人总结
2015/02/11 职场文书
开会通知短信大全
2015/04/20 职场文书
四年级作文之植物
2019/09/20 职场文书
nginx静态资源的服务器配置方法
2022/07/07 Servers