Laravel框架使用图片处理简单教程

PHP图片处理扩展包使用

文中使用的是Laravel框架,更多框架扩展包请点击传送门-》更多框架集成

Intervention Image 是一个开源的 PHP 图像处理和操作 库。它提供了一个更简单也更优雅的方式来创建/编辑/组合图像,并且支持最常见的两个图像处理库 GD Library 和 Imagick 。

安装:

使用composer安装:

复制代码
composer require intervention/image

修改 app/config/app.php 添加 ServiceProvider 如果laravel 为高版本则不需要配置:

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

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

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

shell 复制代码
php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"

运行上面的命令后, 会在项目中生成 config/image.php 配置文件, 打开此文件并将 driver 修改成 imagick 或者 gd (如果图片超过8000像素则使用imagick,gd库可能执行不了):

php 复制代码
return array(
'driver' => 'imagick'
);

图像格式支持

可读的图像格式取决于使用的驱动程序。而使用 Imagick 时,它是 可以读取库本身支持的所有格式,仅使用 GD 某些格式是可读和可写的。

基础用法

php 复制代码
// 打开画布
    $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的官方文档,根据自己的理解去探索。

相关推荐
迪康coolmu14 小时前
出差终端数据安全落地实战:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·经验分享·笔记·其他·安全·php
普通人617 小时前
PHP文件读写完全指南
开发语言·php·1024程序员节
Martina_032120 小时前
AI生成3D场景从白模换成精模后镜头全偏了?用6步检查单位、枢轴与层级替换
图像处理·人工智能·3d·ai·自然语言处理·材质·1024程序员节
vipxieliang1 天前
ThinkORM 3.0 入门:强类型模型定义与查询构造器
后端·php·thinkphp
vipxieliang1 天前
PHP 密码哈希与 password_hash 最佳实践
后端·php
云和数据.ChenGuang1 天前
LangGraph 异步 Node 的设计与写法实践
开发语言·人工智能·python·机器学习·php
陈嘿萌2 天前
TIP 2026 | 不再混成一张! RealFusion从模态不变性重想图像融合
图像处理·人工智能·深度学习·计算机视觉·学术研究与理论基础
大白玉米2 天前
MoxPlayer 弹幕播放器源码智能解析线路管理系统自研内核
php
测试界的小码农3 天前
【Linux 命令实战(03):文件创建、复制、移动与删除,掌握 touch、mkdir、cp、mv、rm】
linux·服务器·php
严肃小白兔3 天前
MATLAB 优秀开源项目与工具箱推荐:涵盖通信、图像处理、脑机接口等九大领域
图像处理·matlab·信息与通信·开源项目