PHP

首页 -  PHP  -  laravel Intervention/image 图片处理

laravel Intervention/image 图片处理

laravel Intervention/image 扩展

1. 安装#

1). 使用 composer 安装:

composer require intervention/image

上面的命令会

2). 修改 app/config/app.php 添加 ServiceProvider:

// 将下面代码添加到 providers 数组中'providers' => [
    // ...
    Intervention\Image\ImageServiceProvider::class,
    // ...
  ],// 将下面代码添加到 aliases 数组中'aliases' => [
    // ...
    'Image' => Intervention\Image\Facades\Image::class,
    // ...
  ],

2. 图片处理库的配置#

此扩展包默认使用 PHP 的 GD 库来进行图像处理, 但由于 GD 库对图像的处理效率要稍逊色于 imagemagick 库, 因此这里推荐替换为 imagemagick 库来进行图像处理.

开始之前, 你得先确定本地已经安装好 GD 或 Imagick.

在使用 Intervention Image 的时候, 你只需要给 ImageManager 传一个数组参数就可以完成 GD 和 Imagick 库之间的互相切换.

如下所示:

// 引入
 composer autoloadrequire 'vendor/autoload.php';
// 导入 
Intervention Image Manager Classuse Intervention\Image\ImageManager;
// 通过指定 driver 来创建一个 image manager 实例
$manager = new ImageManager(array('driver' => 'imagick'));
// 最后创建 image 实例
$image = $manager->make('public/foo.jpg')->resize(300, 200);

另外你也可以使用 ImageManager 的静态版本, 如下所示:

// 引入 
composer autoloadrequire 'vendor/autoload.php';
// 导入 
Intervention Image Manager Classuse Intervention\Image\ImageManagerStatic as Image;
// 通过指定 driver 来创建一个 image manager 实例 (默认使用 gd)
Image::configure(array('driver' => 'imagick'));
// 最后创建 image 实例
$image = Image::make('public/foo.jpg')->resize(300, 200);

生成 config/image.php 配置文件:

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

运行上面的命令后, 会在项目中生成 config/image.php 配置文件, 打开此文件并将 driver 修改成 imagick:

return array(
    'driver' => 'imagick');

到此, 此拓展包即安装成功 

3. 基础用法#

// 修改指定图片的大小
$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);

如果你不想配置只需要简单的用法那么下面为简单的配置:

1). 使用 composer 安装:

composer require intervention/image

上面的命令会

2). 修改 app/config/app.php 添加 ServiceProvider:

// 将下面代码添加到 providers 数组中'providers' => [
    // ...
    Intervention\Image\ImageServiceProvider::class,
    // ...
  ],// 将下面代码添加到 aliases 数组中'aliases' => [
    // ...
    'Image' => Intervention\Image\Facades\Image::class,
    // ...
  ],

3).生成 config/image.php 配置文件:

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

4).开始在类里面使用:

压缩图片质量用法:
$fileFrom 为图片路径 70为保存图片质量
\Intervention\Image\Facades\Image::make($fileFrom)->save( $fileFrom,70 );
裁剪图片 200 为图片要裁剪的尺寸
\Intervention\Image\Facades\Image::make($fileFrom)->resize(200, 200)->save( $fileFrom,70 );
图片加水印
\Intervention\Image\Facades\Image::make($fileFrom)->resize(200, 200)->insert('images/new_avatar.jpg', 'bottom-right', 15, 10);

如果这些还不能满足请参考官网:image.intervention.io

(29)
分享:

本文由:image.intervention.io 作者:image.intervention.io官网发表,转载请注明来源!

相关阅读