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

news2024/11/24 7:40:10

PHP图片处理扩展包使用

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

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的官方文档,根据自己的理解去探索。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1647831.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

经验之谈——正确选择矿用旋转式孔板流量计

说到孔板流量计大家除了想到矿用旋转式孔板流量计是不是还会想到价格?我们举个例子: 10块钱的停车费你觉得贵 于是抱着侥幸心理停路边 突然一张200的罚单贴车上 你才悔不当初 早知道给100停车费也愿意 当你真正需要质量和保障的时候 多高的价格你都不嫌…

软件FMEA的时机:架构设计、详设阶段——FMEA软件

免费试用FMEA软件-免费版-SunFMEA 软件FMEA(故障模式与影响分析)是一种预防性的质量工具,旨在识别软件中可能存在的故障模式,并分析其对系统性能、安全性和可靠性的影响。在软件开发生命周期中,选择适当的时机进行FME…

【C语言】动态分配内存

内存的五大分区 1、堆区(heap)——由程序员分配和释放, 若程序员不释放,程序结束时一般由操作系统回收。注意它与数据结构中的堆是两回事 2、栈区(stack)——由编译器自动分配释放 ,存放函数的…

CST电磁仿真软件远场源的导出调用和提取结果【小白必看】

远场源的导出&调用(1) 提取Hybrid仿真所需的远场源! Post-Processing > Tools > Result Templates Tools >Farfield and Antenna Properties > Export Farfields As Source 混合求解(Hybrid Simulation)是对安装在舰船等大型平台上的天线进行仿真…

【docker】常用的Docker编排和调度平台

常用的Docker编排和调度平台 Kubernetes (K8s): Kubernetes是目前市场上最流行和功能最全面的容器编排和调度平台。它由Google开发并开源,现由CNCF(云原生计算基金会)维护。Kubernetes设计用于自动化容器部署、扩展和管理,支持跨…

EPSON的温补晶振TG7050SKN

EPSON公司推出的温补品振(TCXO)TG7050SKN,尺寸大小为7.0x5.0x1.5 mm,具有高稳定性(105℃℃高温)等特点,可输出10MHz~54MHz的频率可应用在网络同步,BTS,微波,以及需要符合Stratum3、SyncE和IEEE1588等规范的…

张大哥笔记:商标也可以赚大钱

一大早看群聊,发现群里几个小伙伴在讨论商标转让的事情,我一时兴起,就想知道怎么通过商标来赚钱呢?不查不知道,原来还可以这样用商标赚大钱! 下面我给大家掰扯一下,首先我们来了解一下什么是商标…

LeetCode面试298,二叉树最长连续序列(Python)

开始想着dfs,两种情况 1.以root为根 2.不以root为根 但是这样需要两个dfs分别进行,那么时间复杂度就上去了。 class Solution:def longestConsecutive(self, root: Optional[TreeNode]) -> int:def dfs(root):# 以root为根节点,可以延…

递归与递推---题目练习

目录 1、递归实现指数型枚举 2、递归实现排列型枚举 3、递归实现组合型枚举 4、带分数 方法一 方法二 5、翻硬币 6、飞行员兄弟 7、费解的开关 递归是指在函数的定义中使用函数自身的方法。它通过不断地将问题分解为更小的子问题,直到达到基本情况&#xf…

【Gaea+UE5】创建基本的大型世界场景

目录 效果 步骤 一、在Gaea中生成地形 二、确定导出的地形规模 三、在UE中创建地形 四、验证UE创建的地形规模是否正确 五、使用M4自动地形材质 效果 步骤 一、在Gaea中生成地形 1. 打开Gaea官网下载软件 2. 打开Gaea软件,我们可以选择一个预设的山体 创…

机器学习——4.案例: 简单线性回归求解

案例目的 寻找一个良好的函数表达式,该函数表达式能够很好的描述上面数据点的分布,即对上面数据点进行拟合。 求解逻辑步骤 使用Sklearn生成数据集定义线性模型定义损失函数定义优化器定义模型训练方法(正向传播、计算损失、反向传播、梯度清空&#…

Implicit Diffusion Models for Continuous Super-Resolution

CVPR2023https://github.com/Ree1s/IDM问题引入: – LIIF方法可以实现任意分辨率的输出,但是因为是regression-based方法,所以得到的结果缺少细节,而生成的方法(gan-based,flow-based,diffusion-based等)可以生成细节&…

JavaScript中的RegExp和Cookie

个人主页:学习前端的小z 个人专栏:JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 🔆RegExp 🎲 1 什么是正则表达式 🎲2 创建…

从招标到合作:如何筛选与企业需求匹配的6sigma咨询公司

在市场竞争激烈的环境中,领军企业需要不断改进和创新才能在行业中保持竞争优势。为了解决产品质量、生产流程和客户满意度等方面的挑战,许多企业选择与6sigma咨询公司合作,推动企业的全面变革和持续发展。下面是企业在选择合作伙伴时通常会经…

一、Redis五种常用数据类型

Redis优势: 1、性能高—基于内存实现数据的存储 2、丰富的数据类型 5种常用,3种高级 3、原子—redis的所有单个操作都是原子性,即要么成功,要么失败。其多个操作也支持采用事务的方式实现原子性。 Redis特点: 1、支持…

Golang日志实战教程:掌握log与syslog库的高效使用

Golang日志实战教程:掌握log与syslog库的高效使用 简介理解 Golang 的 log 库基本概念创建日志记录器自定义日志记录器日志级别 深入 syslogsyslog 的基础配置和使用 syslog高级应用 日志格式化与管理日志格式化日志文件管理 日志的高级应用集成第三方日志框架使用 …

Python程序中温度更新出现振荡问题的分析和解决方案

在处理温度更新出现振荡问题时,可以考虑以下分析和解决方案:检查温度更新算法是否正确,可能存在错误导致振荡。检查温度更新的步长(时间步长)是否合适,步长过大可能导致振荡。检查系统动力学模型是否准确&a…

场外个股期权和场内个股期权的优缺点是什么?

场外个股期权和场内个股期权的优缺点 场外个股期权是指在沪深交易所之外交易的个股期权,其本质是一种金融衍生品,允许投资者在股票交易场所外以特定价格买进或卖出证券。场内个股期权是以单只股票作为标的资产的期权合约,其内在价值是基于标…

如何用Kimi,5秒1步生成流程图

引言 在当前快节奏的工作环境中,拥有快速、专业且高效的工具不可或缺。 Kimi不仅能在5秒内生成专业的流程图(kimi),还允许实时编辑和预览,大幅简化了传统流程图的制作过程。 这种迅速的生成能力和高度的可定制性使得…

员工账号生命周期如何“全场景”自动化管理?

当企业在信息化建设中引入越来越多的业务系统时,必然存在系统内账号互相独立、无法打通的情况。一有人事变动,HR、IT 管理员、应用管理员、业务部门主管等人就需要在系统里手动更新账号状态。重复、低效,且不可避免出现安全隐患。困扰着 IT 管…