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]);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Yii2
# Imagine安装
# Imagine使用
# Imagine
# 从零开始学YII2框架(一)通过Composer安装Yii2框架
# 从零开始学YII2框架(二)通过 Composer 安装扩展插件
# Yii学习总结之安装配置
# Yii入门教程之Yii安装及hello world
# 使用Composer安装Yii框架的方法
# 详解PHP的Yii框架中扩展的安装与使用
# yii2安装详细流程
# win7安装php框架Yii的方法
# Yii安装与使用Excel扩展的方法
# Yii安装EClientScript插件扩展实现css
# js文件代码压缩合并加载功能
# Yii框架安装简明教程
# 然后再
# 是一个
# 类库
# 自适应
# 起始点
# 还可以
# 还会
# 为您
# 不做
# 等功能
# 但又
# 它会
# 方法来
# 大家多多
# 面向对象
# 能多
# 有一个
# 默认值
# 圆角
# 加载
相关文章:
建站之星微信建站一键生成小程序+多端营销系统
建站主机服务器选型指南与性能优化方案解析
网站制作软件有哪些,制图软件有哪些?
PHP 500报错的快速解决方法
宝塔新建站点为何无法访问?如何排查?
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站之星在线客服如何快速接入解答?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
如何配置FTP站点权限与安全设置?
如何通过云梦建站系统实现SEO快速优化?
如何在IIS中新建站点并配置端口与物理路径?
如何高效完成独享虚拟主机建站?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
如何通过西部数码建站助手快速创建专业网站?
如何在景安服务器上快速搭建个人网站?
建站VPS选购需注意哪些关键参数?
如何确保FTP站点访问权限与数据传输安全?
建站之星价格显示格式升级,你的预算足够吗?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
网站图片在线制作软件,怎么在图片上做链接?
制作旅游网站html,怎样注册旅游网站?
建站上市公司网站建设方案与SEO优化服务定制指南
招贴海报怎么做,什么是海报招贴?
个人网站制作流程图片大全,个人网站如何注销?
c# 服务器GC和工作站GC的区别和设置
网站制作企业,网站的banner和导航栏是指什么?
定制建站模板如何实现SEO优化与智能系统配置?18字教程
魔方云NAT建站如何实现端口转发?
如何将凡科建站内容保存为本地文件?
微信推文制作网站有哪些,怎么做微信推文,急?
如何制作一个表白网站视频,关于勇敢表白的小标题?
如何通过宝塔面板实现本地网站访问?
常州企业建站如何选择最佳模板?
Android自定义listview布局实现上拉加载下拉刷新功能
南平网站制作公司,2025年南平市事业单位报名时间?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
建站之星如何配置系统实现高效建站?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
金*站制作公司有哪些,金华教育集团官网?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
如何撰写建站申请书?关键要点有哪些?
宁波自助建站系统如何快速打造专业企业网站?
如何获取开源自助建站系统免费下载链接?
建站主机与虚拟主机有何区别?如何选择最优方案?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
建站主机核心功能解析:服务器选择与网站搭建流程指南
建站之星后台管理系统如何操作?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
*请认真填写需求信息,我们会在24小时内与您取得联系。