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);