1.首先需要使用 composer 在命令行安裝最新版本的 intervention/image :
composer require intervention/image
2.注冊服務提供者及別名(Laravel 版本 ≤ 5.4)
如果你的 laravel 版本小于或等于 5.4,安裝后需要注冊服務提供者和別名到 config/app.php 。
Intervention\Image\ImageServiceProvider::class,
'Image' => Intervention\Image\Facades\Image::class,
3.使用 Image 加水印
// 修改指定圖片的大小
$img = Image::make('images/avatar.jpg')->resize(200, 200);// 插入水印, 水印位置在原圖片的右下角, 距離下邊距 10 像素, 距離右邊距 15 像素
$img->insert('images/watermark.png', 'bottom-right', 15, 10);// 將處理后的圖片重新保存到其他路徑
$img->save('images/new_avatar.jpg');// 上面的邏輯可以通過鏈式表達式搞定
$img = Image::make('images/avatar.jpg')->resize(200, 200)->insert('images/new_avatar.jpg', 'bottom-right', 15, 10);
偽代碼 控制器
//文件上傳public function file(Request $request){//圖片上傳header("Content-Type:text/html;charset=UTF-8");$file=$request->file('file');$filename=time().'.'.$file->getClientOriginalExtension();//壓縮圖片//引入的類 use Intervention\Image\Facades\Image;$img=Image::make($file)->resize('100,100');//水印的圖片 水印的大小 位置$img->insert('uplodes/1.png','bottom-right',15,10);$image=$img->save('uplodes/'.$filename);$images=$image->basename;$pic= "/uplodes/".$images;return ['code'=>200,'image'=>$pic];}
'image' => ['driver' => 'local','root' => public_path('uplodes/image/'),],
文字水印
$img->text('The quick brown fox jumps over the lazy dog.', 120, 100);