Yii2第三方类库插件Imagine的安装和使用
Imagine
Imagine是一个面向对象的PHP类库用于图片操作。这个类库能够处理一些常用到的操作如:调整大小、裁剪、应用过滤器等。
其Color类库可用于对任意对定的颜色生成RGB值。并且还提供一些方法来绘制图形如:圆弧,椭圆,线,片等。
此外,还可以利用一个灵活的字体类来加载任意字体文件,然后将文字插入到图片中。
Imagine是一个会经常更新的类库,将来还会实现:图表生成、圆角过滤器等功能。
Yii2安装Imagine
Imagine的手动下载和安装这里就不做介绍了,可自行百度。这里介绍Yii2的Composer方式来安装Imageine。
方法一
phpcomposer.pharrequire--prefer-distyiisoft/yii2-imagine
方法二
在项目composer.json文件内的require字段里添加如下代码:
"yiisoft/yii2-imagine":"~2.1.0"
然后再项目根目录下执行命令(cmd):
composerrequireyiisoft/yii2-imagine
Yii2使用Imagine
useyii\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,'helloworld',$srcTTF,[100,100],['color'=>'000000','size'=>50])->save($aimImg,['quality'=>100]);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。