全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

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框架安装简明教程  # 然后再  # 是一个  # 类库  # 自适应  # 起始点  # 还可以  # 还会  # 为您  # 不做  # 等功能  # 但又  # 它会  # 方法来  # 大家多多  # 面向对象  # 能多  # 有一个  # 默认值  # 圆角  # 加载 


相关文章: 活动邀请函制作网站有哪些,活动邀请函文案?  Python多线程使用规范_线程安全解析【教程】  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  一键网站制作软件,义乌购一件代发流程?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  C++时间戳转换成日期时间的步骤和示例代码  如何用wdcp快速搭建高效网站?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  广德云建站网站建设方案与建站流程优化指南  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  建站OpenVZ教程与优化策略:配置指南与性能提升  香港服务器WordPress建站指南:SEO优化与高效部署策略  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  如何在IIS7上新建站点并设置安全权限?  在线制作视频网站免费,都有哪些好的动漫网站?  详解jQuery中基本的动画方法  如何在香港免费服务器上快速搭建网站?  如何快速搭建安全的FTP站点?  建站之星如何助力企业快速打造五合一网站?  如何选择高性价比服务器搭建个人网站?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  如何通过宝塔面板实现本地网站访问?  如何选购建站域名与空间?自助平台全解析  建站之星展会模板:智能建站与自助搭建高效解决方案  建站主机选择指南:服务器配置与SEO优化实战技巧  如何选择域名并搭建高效网站?  专业网站建设制作报价,网页设计制作要考什么证?  建站主机与服务器功能差异如何区分?  如何挑选优质建站一级代理提升网站排名?  七夕网站制作视频,七夕大促活动怎么报名?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  建站之星安装后如何自定义网站颜色与字体?  Android滚轮选择时间控件使用详解  中山网站推广排名,中山信息港登录入口?  如何在宝塔面板中修改默认建站目录?  建站10G流量真的够用吗?如何应对访问高峰?  如何用已有域名快速搭建网站?  如何快速辨别茅台真假?关键步骤解析  如何高效完成自助建站业务培训?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  javascript中对象的定义、使用以及对象和原型链操作小结  如何在香港服务器上快速搭建免备案网站?  制作宣传网站的软件,小红书可以宣传网站吗?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  完全自定义免费建站平台:主题模板在线生成一站式服务  再谈Python中的字符串与字符编码(推荐)  如何通过虚拟主机快速完成网站搭建?  如何实现建站之星域名转发设置? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。