首页 > 编程语言 >php将png转为jpg,可设置压缩率

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

时间:2024-07-12 20:30:28浏览次数:7  
标签:文件 Exception 压缩率 pngImage jpg php jpgImage pngFilePath png

/**

 * 将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);

}

 

标签:文件,Exception,压缩率,pngImage,jpg,php,jpgImage,pngFilePath,png
From: https://www.cnblogs.com/shuinanxun/p/18299334

相关文章

  • php计算两张照片的相似度,范围:0-100
    可以是本地图片也可以是网络图片需要gd库/***计算图片相似度*@param$imagePath1string图片路径1*@param$imagePath2string图片路径2*@returnfloat|int0(完全两张图片)-100(两张一模一样的图片)*/functioncalculateImageSimilarity($imagePath1,$imag......
  • php:访问/tmp文件夹中文件会报错:file does not exist
    一,php访问/tmp文件夹中文件会报错:代码:$filePath="/tmp/php-temp/keji.jpeg";$is_ex=file_exists($filePath);//print_r("is_ex:".$is_ex);if($is_ex){echo"文件".$filePath.&......
  • php实名认证示例、实人认证接口
    随着互联网的高速发展,人们可以发表言论的渠道越来越多。网络平台不断汲取各地、各人、各时发表的各种信息。人们喜欢将信息发布到微博、知乎、天涯、豆瓣等等网络平台,逐步的,网络信息进入大爆炸时代。这些大量涌现的信息中难免掺杂着一些不良信息,比如:虚假信息、污言秽语、违法......
  • 一类账户认证API在Java、Python、PHP中的使用教程
    随着金融科技的快速发展,一类账户认证在金融服务中扮演着越来越重要的角色。对于个人和企业而言,拥有一个高级别的账户不仅能提高交易效率,还能享受到更多优惠和服务。然而,这也带来了账户安全的挑战和风险。为了确保账户的真实性和合法性,一类账户认证应运而生。它通过对用户......
  • 入门PHP就来我这(高级)23 ~ Session
    有胆量你就来跟着路老师卷起来! --纯干货,技术知识分享路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。 上一篇我们完成了cookie的7天免登录功能的实现,本文接着说‘Cookie与Session’这块的Session管理部分。 Session管理 对比Cookie和......
  • PHP请求示例商品详情数据(属性规格sku详情图等)示例,json格式
    在PHP中请求商品详情数据(包括属性、规格、SKU详情、图片等)通常涉及向一个API发送HTTP请求,然后解析返回的JSON格式数据。以下是一个示例流程,包括如何发送请求和如何处理返回的JSON数据。1.发送HTTPGET请求首先,你需要知道API的URL,以及是否需要任何认证(如API密钥、OAuth令牌等......
  • PHP实现断点续传
    解释业务上要求对资源文件进行加密,遂实现通过php接口调用,修改header头,传输流的方式。测试中,在苹果手机上,如果文件过大(大概10M以上),会主动调用多次接口。此时如果不使用断点续传的方式,会导致资源无法加载。苹果设备对于HTTPRange请求的处理可能会更加严格和敏感。它可能更倾......
  • 入门PHP就来我这(高级)22 ~ 七天免登录案例
    有胆量你就来跟着路老师卷起来! --纯干货,技术知识分享路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。  上文讲述了cookie的概念,创建,获取,销毁以及生命周期后,我们利用本文来实现一个小的案例,实现七天免登录的案例。 七天免登录功能案例1......
  • (免费领取源码)计算机毕业设计项目:宠物店管理系统 19849(开题答辩+程序定制+全套文案 )上
    目 录摘要1绪论1.1背景及意义1.2研究现状1.3springboot框架介绍2 宠物店管理系统系统分析2.1可行性分析2.2系统流程分析2.2.1数据流程3.3.2业务流程2.3系统功能分析2.3.1功能性分析2.3.2非功能性分析2.4系统用例分析2.5本章小结......
  • (免费领源码)Java/Mysql数据库+09536 SSM爱心捐赠物资维护系统,计算机毕业设计项目推荐上
    摘要随着信息技术的快速发展,计算机应用已经进入成千上万的家庭。随着物资数量的增加,物资库存管理也存在许多问题。物资数据的处理量正在迅速增加,原来的手工管理模式不适合这种形式。使用计算机可以完成数据收集、处理和分析,减少人力和物力的浪费。需要建立爱心捐赠物资维护系......