将png格式图片批量转存为jpg格式


1 前言

本文记录于2020-11-28,主要实现利用pythonpng格式图片批量转存为jpg格式。如不方便运行使用python,可转至代码封装为exe文件部分。


2 原理

png格式与jpg格式之间的转换,可通过直接更换后缀完成。


3 实现功能

  1. 读取 “ png ” 文件夹内含有的文件总数以及png格式图片个数;

  2. 若 “ png ” 文件夹内含有png格式图片,开始执行以下转换操作;

  3. 判断存放jpg图片的 “ jpg ” 文件夹是否存在,存在着清空文件夹,不存在则新建文件夹;

  4. 将png格式图片复制,更改后缀为jpg后存至 “ jpg ” 文件夹中,并输出处理结果。


4 代码

import os
import shutil

png_path = "./png"  # png格式图片所在文件夹的路径
jpg_path = "./jpg"  # jpg格式图片存放文件夹的路径
file_walk = os.listdir(png_path)
fileNum = 0         # png文件夹下所有文件个数计数
png_fileNum = 0     # png文件夹下png图片个数计数

for filePath in file_walk:
    fileNum += 1
    protion = os.path.splitext(filePath)

    if protion[1].lower() == '.png':  # 判断文件后缀是否为png
        if png_fileNum == 0:  # 当png文件夹中有png图片
            # 判断是否存在jpg文件夹,存在则清空文件夹,不存在就建立文件夹
            if os.path.exists(jpg_path):
                shutil.rmtree(jpg_path)
                os.mkdir(jpg_path)
                print("jpg文件夹内原文件已清除")
            else:
                os.mkdir(jpg_path)
                print("jpg文件夹已创建")
        png_fileNum += 1
        print("正在处理:" + filePath)

        # 复制转存png图片为jpg格式到jpg文件夹中
        shutil.copyfile(os.path.join(png_path, filePath), os.path.join(jpg_path, protion[0] + '.jpg'))

print('\n文件夹内共有' + str(fileNum) + '个文件,其中png格式文件有' + str(png_fileNum) + '个,已全部完成转换,存至jpg文件夹内')
# stop = input("\n\n请按回车键退出!")    # 暂停查看信息

5 运行

5.1 运行前文件夹设置

python所在文件夹(只有python文件和png文件夹):

在这里插入图片描述

png文件夹(保存需要转换的png图片):

在这里插入图片描述

5.2 python运行后结果

不存在jpg文件夹(新建文件夹jpg)

jpg文件夹已创建
正在处理:20201125182129620.png
正在处理:20201125184408396.png
正在处理:20201125185718890.png
正在处理:20201125190302675.png
正在处理:20201125190653554.png
正在处理:20201125190935933.png
正在处理:20201125195454652.png
正在处理:20201125195815228.png
正在处理:20201125200045732.png
正在处理:202011252002278.png
正在处理:20201125200457297.png
正在处理:20201125201845871.png
正在处理:20201125202208111.png
正在处理:20201125202318461.png
正在处理:20201125202445599.png
正在处理:2020112520280741.png
正在处理:20201125203050943.png
正在处理:20201125203216831.png
正在处理:20201125203452829.png
正在处理:20201125204537121.png
正在处理:20201125204605648.png
正在处理:20201125204834186.png

文件夹内共有22个文件,其中png格式文件有22个,已全部完成转换,存至jpg文件夹内

python所在文件夹(增加jpg文件夹):

在这里插入图片描述

jpg文件夹(保存转换后的jpg文件):

在这里插入图片描述

png文件夹(无变动):

在这里插入图片描述

已存在jpg文件夹(清空文件夹内文件)

jpg文件夹内原文件已清除
正在处理:20201125182129620.png
正在处理:20201125184408396.png
正在处理:20201125185718890.png
正在处理:20201125190302675.png
正在处理:20201125190653554.png
正在处理:20201125190935933.png
正在处理:20201125195454652.png
正在处理:20201125195815228.png
正在处理:20201125200045732.png
正在处理:202011252002278.png
正在处理:20201125200457297.png
正在处理:20201125201845871.png
正在处理:20201125202208111.png
正在处理:20201125202318461.png
正在处理:20201125202445599.png
正在处理:2020112520280741.png
正在处理:20201125203050943.png
正在处理:20201125203216831.png
正在处理:20201125203452829.png
正在处理:20201125204537121.png
正在处理:20201125204605648.png
正在处理:20201125204834186.png

文件夹内共有22个文件,其中png格式文件有22个,已全部完成转换,存至jpg文件夹内

6 代码封装为exe文件

如不方便运行使用python,可 下载exe文件 前文所提及python文件处,双击运行即可。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


7 结语

本笔记仅用于记录,不作商用。

感谢各位读者的支持,真诚希望本文能对您有所帮助!

  • 10
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 如果想将一个png图片文件换为jpg格式,可以使用jQuery结合JavaScript来实现。 首先,我们需要一个HTML页面,其中包含一个文件输入框和一个按钮,用于选择png文件和触发换功能。然后,使用jQuery编写一段JavaScript代码来处理换过程。 代码示例如下: ```html <!DOCTYPE html> <html> <head> <title>PNGJPG</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function(){ $('#convertBtn').click(function(){ var fileInput = $('#pngFile')[0]; var file = fileInput.files[0]; if(file && file.type === 'image/png'){ var reader = new FileReader(); reader.onload = function(e){ var img = new Image(); img.src = e.target.result; img.onload = function(){ var canvas = document.createElement('canvas'); canvas.width = img.width; canvas.height = img.height; var ctx = canvas.getContext('2d'); ctx.drawImage(img, 0, 0); var dataURL = canvas.toDataURL('image/jpeg'); var link = document.createElement('a'); link.download = file.name.replace('.png', '.jpg'); link.href = dataURL; link.click(); } } reader.readAsDataURL(file); } }); }); </script> </head> <body> <h1>PNGJPG</h1> <input type="file" id="pngFile" accept="image/png"> <button id="convertBtn">换</button> </body> </html> ``` 在这段代码中,首先使用jQuery绑定了按钮的点击事件。当点击按钮时,首先获取文件输入框中选择的文件,然后判断它是否为png格式。如果是png文件,使用FileReader对象读取文件,并将文件内容以Data URI的形式传递给一个新的Image对象。然后,将Image对象的内容画在一个新创建的HTML5 canvas元素上,再将canvas的内容换为jpg格式的Data URI。最后,创建一个新的链接元素,设置下载属性和Data URI,并触发点击事件。这样,便可将png文件换为jpg格式,并自动下载。 ### 回答2: jQuery本身是一个JavaScript库,主要用于简化HTML文档的操作、事件处理、动画效果等。它并不直接支持将PNG格式图片换为JPG格式。 但是,利用jQuery和其他JavaScript库或插件,我们可以完成PNGJPG的需求。以下是一种实现方法: 首先,我们需要使用一个能够操作图片的JavaScript库或插件,例如FileReader.js。FileReader.js是一个强大的JavaScript库,它可以读取本地的文件,并将其化为可用于JavaScript处理的数据。 在HTML页面中引入jQuery库和FileReader.js库,并创建一个文件选择按钮,用于选择PNG图片文件。 接下来,我们可以使用jQuery来监听文件选择按钮的change事件,当用户选择PNG图片文件后,我们可以获取到该文件对象。 然后,使用FileReader.js提供的readAsDataURL方法,将文件对象化为Data URL。Data URL是一种可以包含图片数据的特殊URL格式。 在读取成功的回调函数中,我们可以创建一个新的Image对象,并将Data URL作为其src属性值。同时,我们可以在onload事件中,使用Canvas API绘制这个Image对象,并将绘制完成的图片数据化为JPG格式。 最后,我们可以将JPG图片数据使用jQuery动态地添加到页面中,或者通过Ajax等其他方式进行传输或保存。 总结起来,通过借助jQuery和其他JavaScript库或插件,我们可以将PNG格式图片文件换为JPG格式。以上是一种实现方法,具体的代码实现可能会因个人需求的不同而有所变化。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值