一:安裝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
同時實現(xiàn)單圖上傳和多圖上傳
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方法參數(shù)說明
x(可選)
x定義第一個字符的基點。默認值:0
y(可選)
y定義第一個字符的基點。默認值:0
callback(可選)
關閉字體對象的回調(diào),回調(diào)可配置:
(1)file:配置水印字體
(2)size:配置水印大小
(3)color:配置水印顏色
(4)align:配置水印水平對齊方式
(5)valign:配置是垂直對齊方式
(6)angle:配置水印旋轉(zhuǎn)角度
例:
//水印
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');
//配置水印旋轉(zhuǎn)角度
$font->angle(45);
})->save('uploadWater.jpg');
2:添加圖片水印
添加圖片水印主要使用到insert方法
insert方法參數(shù)說明:
source:水印圖片地址
position:設置插入圖像的位置,參數(shù)可配置項為:
(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/
總結
以上所述是小編給大家介紹的Yii 使用intervention/image拓展實現(xiàn)圖像處理功能,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
您可能感興趣的文章:- PHP Laravel 上傳圖片、文件等類封裝
- Laravel中前端js上傳圖片到七牛云的示例代碼
- Laravel+Layer實現(xiàn)圖片上傳功能(整理篇)
- vuejs+element-ui+laravel5.4上傳文件的示例代碼
- 利用laravel+ajax實現(xiàn)文件上傳功能方法示例
- 三個思路解決laravel上傳文件報錯:413 Request Entity Too Large問題
- Laravel框架+Blob實現(xiàn)的多圖上傳功能示例
- Laravel框架文件上傳功能實現(xiàn)方法示例
- Laravel Intervention/image圖片處理擴展包的安裝、使用與可能遇到的坑詳解
- Laravel+Intervention實現(xiàn)上傳圖片功能示例