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 相关文章推荐
Windows下PHP5和Apache的安装与配置
Sep 05 PHP
用PHP4访问Oracle815
Oct 09 PHP
php读取30天之内的根据算法排序的代码
Apr 06 PHP
PHP批量采集下载美女图片的实现代码
Jun 03 PHP
一个简洁的PHP可逆加密函数(分享)
Jun 06 PHP
php function用法如何递归及return和echo区别
Mar 07 PHP
php查询mysql数据库并将结果保存到数组的方法
Mar 18 PHP
php基于jquery的ajax技术传递json数据简单实例
Apr 15 PHP
php+html5+ajax实现上传图片的方法
May 14 PHP
php 使用html5实现多文件上传实例
Oct 24 PHP
PHP实现留言板功能的详细代码
Mar 25 PHP
Laravel如何使用Redis共享Session
Feb 23 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二维数组合并及去重复的方法
2015/03/04 PHP
JavaScript 一行代码,轻松搞定浮动快捷留言-V2升级版
2010/04/02 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
JavaScript中的条件判断语句使用详解
2015/06/03 Javascript
纯javascript判断查询日期是否为有效日期
2015/08/24 Javascript
jquery实现网页的页面平滑滚动效果代码
2015/11/02 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
2017/07/17 Javascript
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
2017/09/21 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
2018/08/08 jQuery
使用JavaScript获取Django模板指定键值数据
2020/05/27 Javascript
python获取从命令行输入数字的方法
2015/04/29 Python
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
简单谈谈python的反射机制
2016/06/28 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
Python使用googletrans报错的解决方法
2018/09/25 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
虚拟环境及venv和virtualenv的区别说明
2021/02/05 Python
css3 盒模型以及box-sizing属性全面了解
2016/09/20 HTML / CSS
美国现代家具购物网站:LexMod
2019/01/09 全球购物
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
自动化专业职业生涯规划书范文
2014/01/16 职场文书
俄语专业职业生涯规划
2014/02/26 职场文书
旅行社各个岗位职责
2014/03/15 职场文书
个人贷款担保书
2014/04/01 职场文书
市场营销工作计划书
2014/05/06 职场文书
火箭队口号
2014/06/18 职场文书
家长会欢迎标语
2014/06/24 职场文书
群众路线党员自我评议范文2014
2014/09/24 职场文书
人事局接收函
2015/01/31 职场文书
个园导游词
2015/02/04 职场文书
《火烧云》教学反思
2016/02/23 职场文书
股东协议书范本2016
2016/03/21 职场文书