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

python如何把png图片转jpg

在 Python 中将 PNG 图片转换为 JPG 格式,可以使用 PIL 库(Pillow)实现。以下是完整代码示例:

from PIL import Image
import osdef convert_png_to_jpg(png_path, jpg_path=None):"""将PNG图片转换为JPG格式:param png_path: 输入的PNG文件路径:param jpg_path: 输出的JPG文件路径(可选,默认同输入路径但扩展名改为.jpg)"""# 设置默认输出路径if jpg_path is None:jpg_path = os.path.splitext(png_path)[0] + ".jpg"try:# 打开PNG图片with Image.open(png_path) as img:# 转换颜色模式:RGBA -> RGB(去除透明通道)rgb_img = img.convert("RGB")# 保存为JPG格式rgb_img.save(jpg_path, format="JPEG", quality=95)print(f"转换成功:{png_path} -> {jpg_path}")return Trueexcept Exception as e:print(f"转换失败: {str(e)}")return False# 使用示例
if __name__ == "__main__":input_png = "input.png"  # 替换为你的PNG文件路径output_jpg = "output.jpg"  # 自定义输出路径# 执行转换convert_png_to_jpg(input_png, output_jpg)

关键点说明:

  1. 依赖安装:先安装Pillow库

    pip install pillow
    
  2. 颜色模式转换:PNG支持RGBA(带透明通道),而JPG不支持透明通道,必须转换为RGB模式

  3. 质量控制quality=95 表示高质量压缩(0-100范围,默认75)

  4. 文件路径处理

    • 默认输出路径与输入路径相同(扩展名改为.jpg)
    • 可通过参数自定义输出路径
  5. 异常处理:捕获了文件读取错误、格式错误等常见异常

注意事项:

  • 确保输入文件是有效的PNG格式
  • 输出目录需要写权限
  • 大尺寸图片转换时注意内存占用
  • 转换后透明背景会变为黑色(可通过预处理修改背景色)

如果需要批量处理文件夹中的所有PNG文件,可以使用以下扩展代码:

def batch_convert(folder_path):for filename in os.listdir(folder_path):if filename.lower().endswith(".png"):input_path = os.path.join(folder_path, filename)output_path = os.path.join(folder_path, os.path.splitext(filename)[0] + ".jpg")convert_png_to_jpg(input_path, output_path)
http://www.dtcms.com/a/461132.html

相关文章:

  • CentOS 7 上安装 PostgreSQL
  • PCIe协议之Margning篇之 Margining 入门
  • 业主信息查询优化说明
  • 农产品调度运维可视化
  • Javascript本地存储的方式有哪些?区别及应用场景?
  • 【深度学习05】PyTorch:完整的模型训练套路
  • 深入理解C++中的移动语义从拷贝优化到资源所有权的转移
  • 手机网站后台管理郑州制作网站电话133
  • ASP 程序:深入解析与应用实践
  • Spring Cloud与RabbitMQ深度集成:从入门到生产级实战
  • Java学习之旅第二季-15:抽象类
  • GB级csv文件处理
  • 嘉兴 做企业网站seo整站优化价格
  • 【22.2 增强决策树】
  • ComfyUI进行游戏制作需要的算力?
  • 一夜暴富!程序员都热衷炒股吗?
  • 哪些品牌的茶含片比较受欢迎?
  • 前端jquery框架
  • PostIn入门到实战(9) - 如何通过接口场景测试来验证业务场景的正确性
  • 网站联系方式修改个人个体工商户查询
  • 服务商和OEM解耦的汽车网络安全密钥管理方案
  • LLM时代基于unstructured解析非结构化html
  • 混合动力汽车MATLAB建模实现方案
  • 到底什么是智能网联汽车??第四期——汽车通信系统应用及开发
  • 【开题答辩全过程】以 百宝汽配汽车维修智能管理系统为例,包含答辩的问题和答案
  • ASM1042芯片在汽车BCM项目的工程化应用探索
  • 【工具变量】国家智慧城市试点名单DID数据(2000-2024年)
  • 手机网站设计费用衡水网站建设培训学校
  • 专业网站建设市场网站开发时app打开很慢
  • 悟空AI CRM15版本 客户标签 功能