查看原文
其他

用Python转换图像格式,超全!

朱小五 快学Python 2023-05-04

人生苦短,快学Python!

最近我遇到了Python转换图像格式问题,正好干脆总结了一波,将一些奇怪的图片格式(webp格式、jfif格式、svg格式)转换为常见的jpg、png图片格式。

jfif图片格式转换

大家好,我是朱小五。最近下载了一堆图片文件,想用做公众号文章的封面,但是发现很多都是jfif格式的。

其实jfif格式图片存储格式之一,由JPEG格式衍生而来,后缀为".jfif"。下面我们用Python将新建文件夹下的jfif格式的图片,全部转换成png格式。

在交互式环境中输入如下命令:

import glob
import os
from PIL import Image

for i in glob.glob('D:\\下载\\新建文件夹\\*.jfif', recursive=True):
    print(i)
    img = Image.open(i)
    path1 = os.path.split(i)[0]
    path2 = os.path.split(i)[1].replace("jfif","png")
    new_path = os.path.join(path1,path2)
    img.save(new_path)

输出结果:

svg图片格式转换

接下来我们用Python将svg格式的图片,全部转换成png格式。

这里我们需要安装一个svglib模块,它用于读取SVG文件并使用ReportLab开源工具包将它们(在合理的程度上)转换为其他格式(比如png、pdf等格式)。

https://pypi.org/project/svglib/

pip install svglib

在交互式环境中输入如下命令:

from reportlab.graphics import renderPM
from svglib.svglib import svg2rlg

drawing = svg2rlg("小日常.svg")
renderPM.drawToFile(drawing, "导出图片.png", fmt="PNG")

输出结果:

webp图片格式转换

现在互联网上下载图片格式都是webp的,而我们实际使用时就需要转换成jpeg或png格式图片。今天我继续分享如何利用python3代码实现将webp格式图片转换成jpeg或png格式图片。

其实思路很简单,使用PIL模块打开图片,另存为就可以了

在交互式环境中输入如下命令:

from PIL import Image

img = Image.open("image-2022.webp")
img.load()
img.save("image-2022.png")

输出结果:

人生苦短,快学Python!今天我们分享了将一些奇怪的图片格式(webp格式、jfif格式、svg格式)转换为常见的jpg、png图片格式。实际上图片格式不止这么多,但其他图片格式进行转换基本也是类似的方法,如果今后大家需要这类问题可以试试。

推荐阅读


新书上市


《WPS Office高效办公:文秘与行政办公》

金山办公专家(KVP)通过源自实际工作的经典案例,教你用专业方法轻松应对文秘与行政工作,让工作更高效、更专业。本书以WPS为操作平台,从文秘与行政工作中的实际需求出发,系统地讲解了WPS相关办公组件的应用,向读者介绍了文秘与行政工作中,较为常用、实用的WPS商务办公实战技能。


↓ 点击阅读原文,查看作者新书立减69元!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存