Yii 使用intervention/image拓展实现图像处理
一:安装intervention/image拓展
composer require intervention/image
二:上传文件
\Intervention\Image\ImageManagerStatic::make($_FILES['file']['tmp_name'])->save('upload.jpg');//file为上传表单的name名
\Intervention\Image\ImageManagerStatic::make($_FILES['file']['tmp_name'])->resize(300, 200)->save('upload.jpg');//file为上传表单的name名,并将上传的图片压缩成300,200
同时实现单图上传和多图上传
if ($_FILES['file']) { $image = $_FILES['file']['tmp_name']; if (is_array($image)) { //多图上传 foreach ($image as $key => $item) { \Intervention\Image\ImageManagerStatic::make($item)->save($key.'upload.jpg'); } } else { //单图上传 \Intervention\Image\ImageManagerStatic::make($image)->save('upload.jpg'); } }
三:添加水印
1:添加文字水印
添加文字水印主要使用到text方法
text方法参数说明
x(可选)
x定义第一个字符的基点。默认值:0
y(可选)
y定义第一个字符的基点。默认值:0
callback(可选)
关闭字体对象的回调,回调可配置:
(1)file:配置水印字体 (2)size:配置水印大小 (3)color:配置水印颜色 (4)align:配置水印水平对齐方式 (5)valign:配置是垂直对齐方式 (6)angle:配置水印旋转角度
例:
//水印 ImageManagerStatic::make('upload.jpg')->text('水印文字',20,30,function($font){ //配置水印字体 $font->file(\Yii::getAlias('@webroot') . '/simsun.ttc'); //配置水印大小 $font->size(30); //配置水印颜色 $font->color('#fff'); //配置水印水平居左( left, right and center) $font->align('left'); //配置水印垂直居下(top, bottom and middle) $font->valign('bottom'); //配置水印旋转角度 $font->angle(45); })->save('uploadWater.jpg');
2:添加图片水印
添加图片水印主要使用到insert方法
insert方法参数说明:
source:水印图片地址
position:设置插入图像的位置,参数可配置项为:
(1)top-left (default) (2)top (3)top-right (4)left (5)center (6)right (7)bottom-left (8)bottom (9)bottom-right
x:水平偏移量,默认0
y:垂直偏移量,默认0
例:
ImageManagerStatic::make('upload.jpg')->insert('water.jpg','bottom-left',10,10)->save('uploadWater.jpg');
这里是intervention/image拓展的一些基本操作,详细可以参考:http://image.intervention.io/
相关推荐
Himaxin 2020-06-14
薛正华 2020-05-28
lihy0 2020-04-06
hell0kitty 2020-02-19
yunfenglee 2020-02-03
酷云的csdn 2020-01-18
小爷有点狂 2019-12-25
yyzhu 2018-08-16
开发之路 2019-10-28
georgesale 2019-10-25
fengwuxichen 2019-04-11
dusuanyun 2018-11-20
lihy0 2017-06-01
tosim 2016-12-01
caspertian 2015-12-17
tflasd 2015-12-17
Yaro 2019-06-28