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 Zip解压 文件在线解压缩的函数代码
May 26 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
Jul 03 PHP
php对大文件进行读取操作的实现代码
Jan 23 PHP
PHP时间戳 strtotime()使用方法和技巧
Oct 29 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
Jun 12 PHP
在Win7 中为php扩展配置Xcache
Oct 08 PHP
详解PHP中foreach的用法和实例
Oct 25 PHP
Smarty日期时间操作方法示例
Nov 15 PHP
常用PHP封装分页工具类
Jan 14 PHP
PHP实现的ID混淆算法类与用法示例
Aug 10 PHP
Smarty模板配置实例简析
Jul 20 PHP
phpstudy后门rce批量利用脚本的实现
Dec 12 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
Dedecms常用函数解析
2008/02/01 PHP
PHP 数组排序方法总结 推荐收藏
2010/06/30 PHP
解析coreseek for sphinx的使用
2013/06/21 PHP
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
WordPress伪静态规则设置代码实例
2020/12/10 PHP
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
2016/03/29 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
react native仿微信PopupWindow效果的实例代码
2017/08/07 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
详解JavaScript修改注册表的方法
2020/01/05 Javascript
vue 实现超长文本截取,悬浮框提示
2020/07/29 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python django 增删改查操作 数据库Mysql
2017/07/27 Python
python绘制中国大陆人口热力图
2018/11/07 Python
pycham查看程序执行的时间方法
2018/11/29 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
python scrapy爬虫代码及填坑
2019/08/12 Python
分享一个python的aes加密代码
2020/12/22 Python
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
《凡卡》教学反思
2014/04/09 职场文书
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS
用Python爬取英雄联盟的皮肤详细示例
2021/12/06 Python
JavaScript执行机制详细介绍
2021/12/06 Javascript
SQL SERVER触发器详解
2022/02/24 SQL Server