Intervention Image 是一个开源的 PHP 图像处理和操作 库。它供应了一个更大略也更优雅的办法来创建/编辑/组合图像,并且支持最常见的两个图像处理库 GD Library 和 Imagick 。
安装:利用composer安装:
composer require intervention/image
修正 app/config/app.php 添加 ServiceProvider 如果laravel 为高版本则不须要配置:
//将下面代码添加到 providers 数组中'providers' => [ // ... Intervention\Image\ImageServiceProvider::class, // ... ],// 将下面代码添加到 aliases 数组中'aliases' => [ // ... 'Image' => Intervention\Image\Facades\Image::class, // ... ],
天生 config/image.php 配置文件:
php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"
运行上面的命令后, 会在项目中天生 config/image.php 配置文件, 打开此文件并将 driver 修正成 imagick 或者 gd (如果图片超过8000像素则利用imagick,gd库可能实行不了):
return array('driver' => 'imagick');
图像格式支持
可读的图像格式取决于利用的驱动程序。而利用 Imagick 时,它是 可以读取库本身支持的所有格式,仅利用 GD 某些格式是可读和可写的。
在这里插入图片描述
根本用法// 打开画布 $img = Image::make('ikun.jpg')->resize(800,800);// 根据坐标在图片上画一个赤色的长方形框$img->rectangle(10, 11, 14, 16, function ($draw) { //背景色 $draw->background('rgba(255, 255, 255, 0)'); //边框大小,颜色 $draw->border(2, '#FF0000'); });// 输出图片调试 $response = Response::make($img->encode('jpg')); $response->header('Content-Type', 'image/jpg');// 将处理后的图片重新保存到其他路径$img->save('new_ikun.jpg');
下面便是我们运行的结果,输出图片,并将图片保存到了根目录
在这里插入图片描述
intervention供应了非常全面的接口用法,利用方法请查看官网最新文档-》传送门
总结以上便是在Laravel框架利用图片处理的大略教程。确保阅读intervention的官方文档,根据自己的理解去探索。