Yii 使用intervention/image拓展實現圖像處理

一:安裝intervention/image拓展web

composer require intervention/image

二:上傳文件composer

\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');
   }
}

三:添加水印ui

1:添加文字水印code

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

text方法參數說明圖片

x(可選)get

x定義第一個字符的基點。默認值:0it

y(可選)io

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/

相關文章
相關標籤/搜索