当前位置: 首页 > news >正文

php将png转为jpg,可设置压缩率

/**

 * 将PNG文件转换为JPG文件

 * @param $pngFilePath string PNG文件路径

 * @param $jpgFilePath string JPG文件路径

 * @param $quality int JPG质量,0-100,值越低,压缩率越高

 * @return void

 * @throws Exception

 */

function convertPngToJpg($pngFilePath, $jpgFilePath, $quality = 80)

{

    // 检查文件是否存在

    if (!file_exists($pngFilePath)) {

        throw new Exception("png文件不存在.");

    }

    // 创建一个新的 PNG 图像资源

    $pngImage = imagecreatefrompng($pngFilePath);

    if ($pngImage === false) {

        throw new Exception("无法创建png资源.");

    }

    // 创建一个新的真彩色图像(无透明度)

    $width = imagesx($pngImage);

    $height = imagesy($pngImage);

    $jpgImage = imagecreatetruecolor($width, $height);

    // 将 PNG 图像复制到真彩色图像上

    imagecopy($jpgImage, $pngImage, 0, 0, 0, 0, $width, $height);

    // 将图像保存为 JPG 文件

    if (!imagejpeg($jpgImage, $jpgFilePath, $quality)) {

        throw new Exception("保存jpg文件失败.");

    }

    // 销毁图像资源

    imagedestroy($pngImage);

    imagedestroy($jpgImage);

}

相关文章:

php将png转为jpg,可设置压缩率

/** * 将PNG文件转换为JPG文件 * param $pngFilePath string PNG文件路径 * param $jpgFilePath string JPG文件路径 * param $quality int JPG质量,0-100,值越低,压缩率越高 * return void * throws Exception */ function convertPngToJpg($pngFilePath, $jpgFile…...

华为HCIP Datacom H12-821 卷37

1.多选题 下面关于Network- Summary-LSA 描述正确的是 A、Network- Summary-LSA中的Metric被设置成从该ABR到达目的网段的开销值 B、Network- Sumary-LSA中的Net mask 被设置成目的网段的网络掩码 C、Network- Summary-LSA 是由ASBR产生的 D、Network- Summary-LSA 中的Li…...

某某会员小程序后端性能优化

背景 某某会员小程序后台提供开放平台能力,为三方油站提供会员积分、优惠劵等api。当用户在油站加油,油站收银会调用我们系统为用户发放积分、优惠劵等。用户反馈慢,三方调用发放积分接口性能极低,耗时30s; 接口情况…...

Docker:基础概念、架构与网络模式详解

1.Docker的基本概念 1.1.什么是docker Docker是一个用于开发,交付和运行应用程序的开放平台.docker使您能够将应用程序域基础框架分开,以便你可以快速开发交付软件.使用docker,你可以管理你的基础架构以管理应用程序相同的方式.通过利用docker用于交付,测试和部署代码的方法,你…...

全国大学生数据建模比赛c题——基于蔬菜类商品的自动定价与补货决策的研究分析

基于蔬菜类商品的自动定价与补货决策的研究分析 摘要 商超蔬菜不易保存,其质量会随着销售时间的增加而变差,影响商超收益,因此,基于各蔬菜品类的历史销售数据,制定合理的销售策略和补货决策对商超的营收十分关键。本文…...

【漏洞复现】飞企互联-FE企业运营管理平台 uploadAttachmentServlet—文件上传漏洞

声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。 一、漏洞描述 企互联-FE企业运营管理平台是一个利用云计算、人工智能、大数据、物联网和移动互联网等现代技术构建的云…...

基于深度学习的语言生成

基于深度学习的语言生成(NLG, Natural Language Generation)是一种利用深度学习模型生成自然语言文本的技术。它在智能写作、自动摘要、对话系统、机器翻译等领域有广泛应用。以下是对这一领域的系统介绍: 1. 任务和目标 语言生成的主要任务…...

Kafka Rebalance详解

作者:耀灵 1.rebalance概览 rebalance中文含义为再平衡。它本质上是一组协议,规定了一个 consumer group 是如何达成一致来分配订阅 topic 的所有分区的。比方说Consumer Group A 有3个consumer 实例,它要消费一个拥有6个分区的topic&#…...

在 Markdown 编辑器中插入 空格 Space 和 空行 Enter

1. 空格 Space &#xA0;2.空行 Enter <br/>...

js逆向-webpack-python

网站&#xff08;base64&#xff09;&#xff1a;aHR0cHM6Ly93d3cuY29pbmdsYXNzLmNvbS96aA 案例响应解密爬取&#xff08;webpack&#xff09; 1、找到目标url 2、进行入口定位&#xff08;此案例使用 ‘decrypt(’ 关键字搜索 &#xff09; 3、找到位置进行分析 --t 为 dat…...

Python精神病算法和自我认知异类数学模型

&#x1f3af;要点 &#x1f3af;空间不确定性和动态相互作用自我认知异类模型 | &#x1f3af;精神病神经元算法推理 | &#x1f3af;集体信念催化个人行动力数学模型 | &#x1f3af;物种基因进化关系网络算法 | &#x1f3af;电路噪声低功耗容错解码算法 &#x1f4dc;和-…...

npm install 报错:PhantomJS not found on PATH

npm install 报错&#xff1a;PhantomJS not found on PATH 整体报错内容 npm ERR! code 1 npm ERR! path G:\work-learn\open-coding\bruno\node_modules\phantomjs-prebuilt npm ERR! command failed npm ERR! command C:\Windows\system32\cmd.exe /d /s /c node install.…...

【C++进阶学习】第六弹——set和map——体会用C++来构建二叉搜索树

set和map基础&#xff1a;【C进阶学习】第五弹——二叉搜索树——二叉树进阶及set和map的铺垫-CSDN博客 前言&#xff1a; 在上篇的学习中&#xff0c;我们已经学习了如何使用C语言来实现二叉搜索树&#xff0c;在C中&#xff0c;我们是有现成的封装好的类模板来实现二叉搜索树…...

sqlmap确定目标/实操

安装kali&#xff0c;kali自带sqlmap&#xff0c;在window系统中跟linux系统操作有区别 sqlmap是一款自动化SQL工具&#xff0c;打开kali终端&#xff0c;输入sqlmap&#xff0c;出现以下界面&#xff0c;就说明sqlmap可用。 sqlmap确定目标 一、sqlmap直连数据库 1、直连数据库…...

Java笔试|面试 —— 对多态性的理解

谈谈对多态性的理解&#xff1a; 一个事物的多种形态&#xff08;编译和运行时状态不一致性&#xff09; 实现机制&#xff1a;通过继承、重写和向上转型&#xff08;Object obj new 子类()&#xff09;来实现。 1.广义上的理解 子类对象的多态性&#xff0c;方法的重写&am…...

从RL的专业角度解惑 instruct GPT的目标函数

作为早期chatGPT背后的核心技术&#xff0c;instruct GPT一直被业界奉为里程碑式的著作。但是这篇论文关于RL的部分确写的非常模糊&#xff0c;几乎一笔带过。当我们去仔细审查它的目标函数的时候&#xff0c;心中不免有诸多困惑。特别是作者提到用PPO来做强化学习&#xff0c;…...

location匹配的优先级和重定向

nginx的重定向&#xff08;rewrite&#xff09; location 匹配 location匹配的就是后面的uri /wordpress 192.168.233.10/wordpress location匹配的分类和优先级 1.精确匹配 location / 对字符串进行完全匹配&#xff0c;必须完全符合 2.正则匹配 ^-前缀级别&#xff…...

观察矩阵(View Matrix)、投影矩阵(Projection Matrix)、视口矩阵(Window Matrix)及VPM矩阵及它们之间的关系

V表示摄像机的观察矩阵&#xff08;View Matrix&#xff09;&#xff0c;它的作用是把对象从世界坐标系变换到摄像机坐标系。因此&#xff0c;对于世界坐标系下的坐标值worldCoord(x0, y0, z0)&#xff0c;如果希望使用观察矩阵VM将其变换为摄像机坐标系下的坐标值localCoord(x…...

谷粒商城学习笔记-19-快速开发-逆向生成所有微服务基本CRUD代码

文章目录 一&#xff0c;使用逆向工程步骤梳理1&#xff0c;修改逆向工程的application.yml配置2&#xff0c;修改逆向工程的generator.properties配置3&#xff0c;以Debug模式启动逆向工程4&#xff0c;使用逆向工程生成代码5&#xff0c;整合生成的代码到对应的模块中 二&am…...

时序预测 | Matlab实现TCN-Transformer的时间序列预测

时序预测 | Matlab实现TCN-Transformer的时间序列预测 目录 时序预测 | Matlab实现TCN-Transformer的时间序列预测效果一览基本介绍程序设计 效果一览 基本介绍 基于TCN-Transformer模型的时间序列预测&#xff0c;可以用于做光伏发电功率预测&#xff0c;风速预测&#xff0c;…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...