Intervention Image 是一个PHP 图像处理和操作库,提供了一种更简单、更有表现力的方式来创建、编辑和组合图像。该软件包包括 ServiceProviders 和 Facades 以便于Laravel集成。
Intervention Image 在github上的地址在这里。

Intervention Image 是一个开源的PHP 图像处理和操作库。它提供了一种创建、编辑和合成图像的更简单和富有表现力的方式,并支持当前最常见的两个图像处理库GD Library和Imagick。
编写该类是为了使 PHP 图像操作更容易和更具表现力。无论您是要创建图像缩略图、水印还是格式化大图像文件,Intervention Image 都能帮助您以尽可能少的代码行轻松管理每项任务。
Intervention Image 需要以下组件才能正常工作。
以及以下图像库之一。
安装 Intervention Image 的最佳方式是使用Composer快速轻松地安装。
要安装最新版本,请运行以下命令。
$ php composer.phar require intervention/image
现在你composer.json已经自动更新了,你可以要求刚刚创建的vendor/autoload.php文件来 PSR-4 自动加载库。
下一步是决定是否要将 Intervention Image 集成到Laravel 框架中。如果您想在 Laravel 中使用该库,只需跳过以下步骤并继续Laravel 集成的描述。
Intervention Image 根本不需要 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);
您也可以使用 ImageManager 的静态版本,如下例所示。
// include composer autoload
require 'vendor/autoload.php';
// import the Intervention Image Manager Class
use Intervention\Image\ImageManagerStatic as Image;
// configure with favored image driver (gd by default)
Image::configure(['driver' => 'imagick']);
// and you are ready to go ...
$image = Image::make('public/foo.jpg')->resize(300, 200);
Intervention Image 有对Laravel的可选支持,并带有一个服务提供者和 Facades以便于集成。包含在vendor/autoload.phpLaravel 中,因此您不必手动要求或自动加载。请参阅下面的说明。
安装 Intervention Image 后,打开 Laravel 配置文件config/app.php并添加以下行。
在$providers数组中添加此包的服务提供者。
Intervention\Image\ImageServiceProvider::class
将此包的外观添加到$aliases数组中。
'Image' => Intervention\Image\Facades\Image::class
现在图像类将由Laravel自动加载。
默认情况下,Intervention Image 使用 PHP 的 GD 库扩展来处理所有图像。如果您想切换到 Imagick,您可以通过运行以下 artisan 命令之一将配置文件拉入您的应用程序。
$ php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravelRecent"
$ php artisan config:publish intervention/image
在最近的Laravel应用程序中,配置文件被复制到config/image.php,在较旧的 Laravel 4 应用程序中,您可以在app/config/packages/intervention/image/config.php. 使用此副本,您可以在本地更改应用程序的映像驱动程序设置。
// usage inside a laravel route
Route::get('/', function() {
$img = Image::make('foo.jpg')->resize(300, 200);
return $img->response('jpg');
});