系统需求
PHP >= 5.3
Fileinfo Extension
GD Library (>=2.0) … or …
Imagick PHP extension (>=6.5.7)
php composer.phar require intervention/image
或者:
composer require intervention/image
安装部署 Integration/image
Laravel 配置
安装部署 Integration/image 完成后,打开配置文件 config/app.php 在相应位置添加代码,然后 Image 类就能自动加载并可供使用了。其功能强大到可以处理你的几乎所有图片处理需求。
//服务提供器
Intervention\Image\ImageServiceProvider::class
//别名配置
Image' => Intervention\Image\Facades\Image::class
配置设置
默认情况下, Integration/Image 使用PHP的GD库扩展。如果你想切换到 imagick,你可以使用 php artisan 创建一个配置文件以添加相应的配置。
php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravelRecent"
基本使用
这里列出几个基本功能,更详细使用说明请查看相关接口文档。
1、显示一张图片
Route::get('/', function()
{
$img = Image::make('foo.jpg')->resize(300, 200);
return $img->response('jpg');
});
2、读取一个图片文件
$img = Image::make('foo/bar/baz.jpg');
3、绘制一张图片
$img = Image::canvas(800, 600, '#ccc');
4、编辑一张图片
$img = Image::make('foo.jpg')->resize(320, 240)->insert('watermark.png');
use Intervention\Image\Facades\Image; public function index(Request $request) { $file = $request->file('file');//得到传输过来的图片 $image = Image::make($file->getRealPath()); $image->resize($image->getWidth()*0.5,$image->getHeight()*0.5);//设置图片的大小(等比例缩放) $image->encode($file->getClientOriginalExtension(),100);//改变图片的质量,参数1:问件的后缀名,参数2:修改多少质量 0-100 $image->save('../public/'.$file->getClientOriginalName());//图片保存到新的路径(../代表父级目录) }
在laravel框架之外使用:
// include composer autoload
require 'vendor/autoload.php';
// import the Intervention Image Manager Class
use Intervention\Image\ImageManager;
// create an image manager instance with favored driver
$manager = new ImageManager(['driver' => 'imagick']);
// to finally create image instances
$image = $manager->make('public/foo.jpg')->resize(300, 200);
有话要说