Yii2第三方类库插件Imagine的安装和使用


Posted in PHP onJuly 06, 2017

Imagine

Imagine 是一个面向对象的 PHP 类库用于图片操作。这个类库能够处理一些常用到的操作如:调整大小、裁剪、应用过滤器等。

其Color类库可用于对任意对定的颜色生成RGB值。并且还提供一些方法来绘制图形如:圆弧,椭圆,线,片等。

此外,还可以利用一个灵活的字体类来加载任意字体文件,然后将文字插入到图片中。

Imagine 是一个会经常更新的类库,将来还会实现:图表生成、圆角过滤器等功能。

Yii2 安装 Imagine

Imagine 的手动下载和安装这里就不做介绍了,可自行百度。这里介绍 Yii2 的 Composer 方式来安装 Imageine。

方法一

php composer.phar require --prefer-dist yiisoft/yii2-imagine

方法二

在项目 composer.json 文件内的 require 字段里添加如下代码:

"yiisoft/yii2-imagine": "~2.1.0"

然后再项目根目录下执行命令(cmd):

composer require yiisoft/yii2-imagine

Yii2 使用 Imagine

use yii\imagine\Image;

$srcImg = Yii::getAlias('@webroot/test.jpg');
$aimImg = Yii::getAlias('@webroot/testdeal.jpg');
$srcTTF = Yii::getAlias('@webroot/img/symbol.ttf');

// 缩略
// 参数 inset 表示定框缩略
// 图片完整缩略在 200x100 的框内
// 备注:定框的宽度或高度必须有一个小于图片的实际尺寸,否则直接返回源图尺寸
Image::thumbnail($srcImg, 200, 100, 'inset')->save($aimImg, ['quality'=>100]);

// 缩略
// 参数 outbound 表示单尺寸优先缩略并居中截取
// 该参数为函数的默认值,它会为您尽可能多的截取图片但又不会超出图片范围
// 例:源图 500x200,那么按照高度 100 缩略(变为250x100),然后再居中截取 200x100
// 例:源图 400x350,那么按照宽度 200 缩率(变为200x175),然后再居中截取 200x100
// 例:源图 100x80,那么不缩率不截取,直接返回源图 100x80
Image::thumbnail($srcImg, 200, 100, 'outbound')->save($aimImg, ['quality'=>100]);

// 缩略
// 按宽度 200 缩略,高度自适应
Image::thumbnail($srcImg, 200, null)->save($aimImg, ['quality'=>100]);

// 缩略
// 按高度 100 缩略,宽度自适应
Image::thumbnail($srcImg, null, 100)->save($aimImg, ['quality'=>100]);

// 剪切
// 参数:源图、宽度、高度、起始点
// 将源文件 $srcImg 保存到 $aimImg
Image::crop($srcImg, 400, 200, [100,100])->save($aimImg);

// 旋转
// 未研究
Image::frame('@webroot/img/test-image.jpg', 5, '666', 0)->rotate(-8)->save(Yii::getAlias('@webroot/img/thumb-test-frame.jpg'), ['quality' => 100]);

// 水印
// 未研究
Image::watermark('@webroot/img/test-image.jpg', '@webroot/img/watermark.jpg', [10,10])->save(Yii::getAlias('@webroot/img/thumb-test-watermark.jpg'), ['quality' => 100]);

// 文字水印
// 参数:源图、文字、字体、起始点、字体配置
Image::text($srcImg, 'hello world', $srcTTF, [100,100] ,['color'=>'000000','size'=>50])->save($aimImg, ['quality'=>100]);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP安装问题
Oct 09 PHP
中英文字符串翻转函数
Dec 09 PHP
php str_pad() 将字符串填充成指定长度的字符串
Feb 23 PHP
解析yii数据库的增删查改
Jun 20 PHP
php数据访问之查询关键字
May 09 PHP
php有效防止图片盗用、盗链的两种方法
Nov 01 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
Nov 14 PHP
PHP实现动态删除XML数据的方法示例
Mar 30 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 PHP
PDO::lastInsertId讲解
Jan 29 PHP
laravel按天、按小时,查询数据的实例
Oct 09 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 PHP
一个实用的php验证码类
Jul 06 #PHP
万能的php分页类
Jul 06 #PHP
PHP 实现从数据库导出到.csv文件方法
Jul 06 #PHP
php文件上传类的分享
Jul 06 #PHP
PHP图片水印类的封装
Jul 06 #PHP
php生出随机字符串
Jul 06 #PHP
PHP实现的分页类定义与用法示例
Jul 05 #PHP
You might like
如何使用PHP中的字符串函数
2006/10/09 PHP
php&java(一)
2006/10/09 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
JS中的eval 为什么加括号
2016/04/13 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
AngularJS中如何使用echart插件示例详解
2016/10/26 Javascript
Angular开发者指南之入门介绍
2017/03/05 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
vue文件树组件使用详解
2018/03/29 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
Electron 调用命令行(cmd)
2019/09/23 Javascript
在vue中使用image-webpack-loader实例
2020/11/12 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
[46:53]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
[01:28]国服启动器接入蒸汽平台操作流程视频
2021/03/11 DOTA
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
2015/04/08 Python
Python的Django框架中的表单处理示例
2015/07/17 Python
python实现简易动态时钟
2018/11/19 Python
python调用外部程序的实操步骤
2019/03/04 Python
Python 切分数组实例解析
2019/11/07 Python
Pandas实现一列数据分隔为两列
2020/05/18 Python
keras的siamese(孪生网络)实现案例
2020/06/12 Python
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
Shopbop中文官网:美国亚马逊旗下时尚购物网站
2020/12/15 全球购物
自我评价格式
2014/01/06 职场文书
咖啡馆创业计划书
2014/01/26 职场文书
春节请假条
2014/04/11 职场文书
搞笑老公保证书
2015/02/26 职场文书
班级班风口号大全
2015/12/25 职场文书
2019最新公司租房合同(例文)
2019/07/18 职场文书
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android