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 相关文章推荐
实现dedecms全站URL静态化改造的代码
Mar 29 PHP
PHP 命令行参数详解及应用
May 18 PHP
PHP5中Cookie与 Session使用详解
Apr 30 PHP
163的邮件用phpmailer发送(实例详解)
Jun 24 PHP
php实现的简单日志写入函数
Mar 31 PHP
php类常量用法实例分析
Jul 09 PHP
php数组比较实现查找连续数的方法
Jul 29 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
Oct 08 PHP
PHP实现的简单操作SQLite数据库类与用法示例
Jun 19 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
php+Ajax无刷新验证用户名操作实例详解
Mar 04 PHP
Laravel数据库读写分离配置的方法
Oct 13 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怎么实现网站保存快捷方式方便用户随时浏览
2013/08/15 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
document.onreadystatechange事件的用法分析
2009/10/17 Javascript
js浮动图片的动态效果
2013/07/10 Javascript
div模拟滚动条效果示例代码
2013/10/16 Javascript
不提示直接关闭网页窗口的JS示例代码
2013/12/17 Javascript
jquery改变tr背景色的示例代码
2013/12/28 Javascript
Javascript Objects详解
2014/09/04 Javascript
JS 打印功能代码可实现打印预览、打印设置等
2014/10/31 Javascript
深入浅析javascript立即执行函数
2015/10/23 Javascript
jquery自定义表格样式
2015/11/23 Javascript
原生JS实现-星级评分系统的简单实例
2016/08/21 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
JS实现动画兼容性的transition和transform实例分析
2016/12/13 Javascript
深入浅析Vue中的 computed 和 watch
2018/06/06 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
python创建只读属性对象的方法(ReadOnlyObject)
2013/02/10 Python
Python实现的基于优先等级分配糖果问题算法示例
2018/04/25 Python
对python 多线程中的守护线程与join的用法详解
2019/02/18 Python
Python读取YAML文件过程详解
2019/12/30 Python
tensorflow生成多个tfrecord文件实例
2020/02/17 Python
python 带时区的日期格式化操作
2020/10/23 Python
医疗保健专业人士购物网站:Scrubs & Beyond
2017/02/08 全球购物
HTC VIVE美国官网:VR虚拟现实眼镜
2018/02/13 全球购物
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
大专会计自我鉴定
2014/02/06 职场文书
园艺师求职信
2014/03/10 职场文书
地理信息科学专业推荐信
2014/09/08 职场文书
小班下学期个人总结
2015/02/12 职场文书
小学生学习保证书
2015/02/26 职场文书
创业计划书之美甲店
2019/09/20 职场文书