Laravel 使用 Intervention Image 进行图片压缩

1.安装

使用Composer在命令行安装最新版本的Intervention Image:

composer require intervention/image

2.集成到Laravel

安装好Intervention Image后,打开config/app.php,注册如下服务提供者到$providers数组:

Intervention\Image\ImageServiceProvider::class

然后添加如下门面到$aliaes数组:

'Image' => Intervention\Image\Facades\Image::class

这样我们就可以在Laravel应用代码中直接使用Image了。

3.配置

默认情况下,Intervention Image使用PHP的GD库扩展处理所有图片,如果你想要切换到Imagick,你可以将配置文件拉到应用中:

php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"

这样对应的配置文件会被拷贝到config/image.php,你可以在该配置文件中修改图片处理驱动配置。

4.使用

图片储存
//引用
use Image;


//调用 storeImage 方法,传入上传的图片返回的是图片存放的地址
$path1 = $this->storeImage($request->file('photo1'));


public function storeImage($image){
        $name=str_random(10).'.jpg';//随机生成的字符串,可以自行拼接图片名字
        $path=public_path().'/ss/'.$name;// ss 是我的存放照片的文件夹
        $img = Image::make($image)->resize(500,500)->save($path);//压缩并保存照片
        return 'ss/'.$name;//返回照片存放地址
}
最简单的生成图片的地址链接

直接在routes.php文件中添加路由

Route::get('/image', function(){
    $img = Image::make(public_path('ss/image1.jpg'));
    return $img->response('jpg');
});

Intervention Image官网
给英文菜如准备的

你可能感兴趣的:(Laravel 使用 Intervention Image 进行图片压缩)