Yii 使用intervention/image拓展實(shí)現(xiàn)圖像處理功能
一:安裝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
同時(shí)實(shí)現(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定義第一個(gè)字符的基點(diǎn)。默認(rèn)值:0
y(可選)
y定義第一個(gè)字符的基點(diǎn)。默認(rèn)值:0
callback(可選)
關(guān)閉字體對象的回調(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è)置插入圖像的位置,參數(shù)可配置項(xiàng)為:
(1)top-left (default)
(2)top
(3)top-right
(4)left
(5)center
(6)right
(7)bottom-left
(8)bottom
(9)bottom-right
x:水平偏移量,默認(rèn)0
y:垂直偏移量,默認(rèn)0
例:
ImageManagerStatic::make('upload.jpg')->insert('water.jpg','bottom-left',10,10)->save('uploadWater.jpg');
這里是intervention/image拓展的一些基本操作,詳細(xì)可以參考: http://image.intervention.io/
總結(jié)
以上所述是小編給大家介紹的Yii 使用intervention/image拓展實(shí)現(xiàn)圖像處理功能,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
- PHP Laravel 上傳圖片、文件等類封裝
- Laravel中前端js上傳圖片到七牛云的示例代碼
- Laravel+Layer實(shí)現(xiàn)圖片上傳功能(整理篇)
- vuejs+element-ui+laravel5.4上傳文件的示例代碼
- 利用laravel+ajax實(shí)現(xiàn)文件上傳功能方法示例
- 三個(gè)思路解決laravel上傳文件報(bào)錯(cuò):413 Request Entity Too Large問題
- Laravel框架+Blob實(shí)現(xiàn)的多圖上傳功能示例
- Laravel框架文件上傳功能實(shí)現(xiàn)方法示例
- Laravel Intervention/image圖片處理擴(kuò)展包的安裝、使用與可能遇到的坑詳解
- Laravel+Intervention實(shí)現(xiàn)上傳圖片功能示例
相關(guān)文章
PHP FileSystem 文件系統(tǒng)常用api整理總結(jié)
這篇文章主要介紹了PHP FileSystem 文件系統(tǒng)常用api,結(jié)合實(shí)例形式整理總結(jié)了php文件系統(tǒng)常用函數(shù)的功能、使用技巧與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-07-07PHP5.5在windows安裝使用memcached服務(wù)端的方法
這篇文章主要介紹了PHP5.5在windows安裝使用memcached服務(wù)端的方法,需要的朋友可以參考下2014-04-04基于yaf框架和uploadify插件,做的一個(gè)導(dǎo)入excel文件,查看并保存數(shù)據(jù)的功能
本文主要介紹了基于yaf框架和uploadify插件,做的一個(gè)導(dǎo)入excel文件,查看并保存數(shù)據(jù)的功能的思路與方法。具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01