当前位置:首页 > CMS教程 > 其它CMS > 列表

Yii 使用intervention/image拓展实现图像处理功能

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-27 16:04:00 浏览: 评论:0 

这篇文章主要介绍了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

同时实现单图上传和多图上传

  1. if ($_FILES['file']) { 
  2.   $image = $_FILES['file']['tmp_name']; 
  3.   if (is_array($image)) { 
  4.     //多图上传 
  5.     foreach ($image as $key => $item) { 
  6.       \Intervention\Image\ImageManagerStatic::make($item)->save($key.'upload.jpg'); 
  7.     } 
  8.   } else { 
  9.     //单图上传 
  10.     \Intervention\Image\ImageManagerStatic::make($image)->save('upload.jpg'); 
  11.   } 

三:添加水印

1:添加文字水印

添加文字水印主要使用到text方法

text方法参数说明

x(可选)

x定义第一个字符的基点。默认值:0

y(可选)

y定义第一个字符的基点。默认值:0

callback(可选)

关闭字体对象的回调,回调可配置:

(1)file:配置水印字体

(2)size:配置水印大小

(3)color:配置水印颜色

(4)align:配置水印水平对齐方式

(5)valign:配置是垂直对齐方式

(6)angle:配置水印旋转角度

例:

  1. //水印 
  2. ImageManagerStatic::make('upload.jpg')->text('水印文字',20,30,function($font){ 
  3.   //配置水印字体 
  4.   $font->file(\Yii::getAlias('@webroot') . '/simsun.ttc'); 
  5.   //配置水印大小 
  6.   $font->size(30); 
  7.   //配置水印颜色 
  8.   $font->color('#fff'); 
  9.   //配置水印水平居左( left, right and center) 
  10.   $font->align('left'); 
  11.   //配置水印垂直居下(top, bottom and middle) 
  12.   $font->valign('bottom'); 
  13.   //配置水印旋转角度 
  14.   $font->angle(45); 
  15. })->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/

Tags: intervention image拓展

分享到: