人生苦短,快学Python!
最近我遇到了Python转换图像格式问题,正好干脆总结了一波,将一些奇怪的图片格式(webp格式、jfif格式、svg格式)转换为常见的jpg、png图片格式。
jfif图片格式转换
大家好,我是朱小五。最近下载了一堆图片文件,想用做公众号文章的封面,但是发现很多都是jfif格式的。
其实jfif格式图片存储格式之一,由JPEG格式衍生而来,后缀为".jfif"。下面我们用Python将新建文件夹下的jfif格式
的图片,全部转换成png格式。
在交互式环境中输入如下命令:
代码语言:javascript复制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/
代码语言:javascript复制pip install svglib
在交互式环境中输入如下命令:
代码语言:javascript复制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模块打开图片,另存为就可以了
在交互式环境中输入如下命令:
代码语言:javascript复制from PIL import Image
img = Image.open("image-2022.webp")
img.load()
img.save("image-2022.png")
输出结果:
人生苦短,快学Python!今天我们分享了将一些奇怪的图片格式(webp格式、jfif格式、svg格式)转换为常见的jpg、png图片格式。实际上图片格式不止这么多,但其他图片格式进行转换基本也是类似的方法,如果今后大家需要这类问题可以试试。