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连mysql和oracle数据库性能比较
Oct 09 PHP
PHP XML error parsing SOAP payload on line 1
Jun 17 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
Aug 03 PHP
浅析memcache启动以及telnet命令详解
Jun 28 PHP
在Win7 中为php扩展配置Xcache
Oct 08 PHP
PHP扩展模块memcached长连接使用方法分析
Dec 24 PHP
php生成二维码
Aug 10 PHP
Linux安装配置php环境的方法
Jan 14 PHP
PHP+原生态ajax实现的省市联动功能详解
Aug 15 PHP
tp5框架使用composer实现日志记录功能示例
Jan 10 PHP
php解决crontab定时任务不能写入文件问题的方法分析
Sep 16 PHP
open_basedir restriction in effect. 原因与解决方法
Mar 14 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 中的批处理的实现
2007/06/14 PHP
解析php中curl_multi的应用
2013/07/17 PHP
php四种基础算法代码实例
2013/10/29 PHP
php将html转成wml的WAP标记语言实例
2015/07/08 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
PHP实现的服务器一致性hash分布算法示例
2018/08/09 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
javascript下数值型比较难点说明
2010/06/07 Javascript
javascript下string.format函数补充
2010/08/24 Javascript
JavaScript的类型转换(字符转数字 数字转字符)
2010/08/30 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
移动端横屏的JS代码(beta)
2016/05/16 Javascript
基于cssSlidy.js插件实现响应式手机图片轮播效果
2016/08/30 Javascript
jQuery继承extend用法详解
2016/10/10 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
JS实现简单抖动效果
2017/06/01 Javascript
vue-cli之router基本使用方法详解
2017/10/17 Javascript
详解使用vue-cli脚手架初始化Vue项目下的项目结构
2018/03/08 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
微信小程序中网络请求缓存的解决方法
2019/12/29 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
使用pandas中的DataFrame数据绘制柱状图的方法
2018/04/10 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
大型车展策划方案
2014/02/01 职场文书
大学新生入学教育方案
2014/05/16 职场文书
思想政治表现评语
2015/01/04 职场文书
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript
详解jQuery的核心函数和事件处理
2022/02/18 jQuery
Python采集股票数据并制作可视化柱状图
2022/04/04 Python