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多文件上传功能实现原理及代码
Apr 18 PHP
解析thinkphp的左右值无限分类
Jun 20 PHP
深入解析Session是否必须依赖Cookie
Aug 02 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
Jan 14 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
Jun 12 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
Jul 22 PHP
php获取CSS文件中图片地址并下载到本地的方法
Dec 02 PHP
php实现的RSS生成类实例
Apr 23 PHP
php防止CC攻击代码 php防止网页频繁刷新
Dec 21 PHP
php json转换相关知识(小结)
Dec 21 PHP
php设计模式之装饰模式应用案例详解
Jun 17 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
Apr 20 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
ThinkPHP后台首页index使用frameset时的注意事项分析
2014/08/22 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
Zend Framework教程之Autoloading用法详解
2016/03/08 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
bootstrap table插件动态加载表头
2019/07/19 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
vue下载二进制流图片操作
2020/10/26 Javascript
[03:04]DOTA2英雄基础教程 影魔
2013/12/11 DOTA
python正则表达式判断字符串是否是全部小写示例
2013/12/25 Python
python检测服务器是否正常
2014/02/16 Python
在Python的gevent框架下执行异步的Solr查询的教程
2015/04/16 Python
用Python编写web API的教程
2015/04/30 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
Python对CSV、Excel、txt、dat文件的处理
2018/09/18 Python
Python选择网卡发包及接收数据包
2019/04/04 Python
Django web框架使用url path name详解
2019/04/29 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
详解Django中views数据查询使用locals()函数进行优化
2020/08/24 Python
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
汤米巴哈马官方网站:Tommy Bahama
2017/05/13 全球购物
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
Perfume’s Club英国官网:购买香水和护肤品
2019/11/02 全球购物
木马的传播途径主要有哪些
2016/04/08 面试题
C#笔试题和英文面试题
2013/02/07 面试题
幼儿园的门卫岗位职责
2014/04/10 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
先进学校事迹材料
2014/12/30 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
FFmpeg视频处理入门教程(新手必看)
2022/01/22 杂记
Windows Server 2016服务器用户管理及远程授权图文教程
2022/08/14 Servers