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