python知识点100篇系列(4)-转换图片格式的几种方式

2024-09-14 10:40:24 浏览数 (1)

有时候网上下载的图片不在直接用,因为有些系统限制的图片的格式,所以用之前需要转换一下图片格式;

这个用python就能处理;

首先是按照需要用的库,一般情况下只需要按照PIL即可,

对于svg图片,需要安装svglib来处理

安装所需库方法如下:

安装方式推荐有很多种,推荐使用pip;

pip 是 Python 的包安装程序。其实,pip 就是 Python 标准库(The Python Standard Library)中的一个包,只是这个包比较特殊,用它可以来管理 Python 标准库(The Python Standard Library)中其他的包。pip 是一个命令行程序。 安装 pip 后,会向系统添加一个 pip 命令,该命令可以从命令提示符运行。

安装pip:

  • 安装python; 这个是必须安装的;
  • 下载pip: > 官网地址:https://pypi.org/project/pip/#downloads; 下载完毕后,解压
  • 打开命令行窗口,进入到pip解压后的目录;执行代码 > python3 setup.py install

进行安装,

安装完成后,将pip加入到系统环境变量中

  • 验证 打开命令行窗口,输入pip list 或者pip3 list

以上只针对于windows系统,其他系统也可以参考;

  • 安装所需库: 打开命令行窗口,输入执行以下代码,并回车 > pip install **
代码语言:python代码运行次数:0复制
等待提示第三库安装成功既可;
实现将下载的图片转化为png图片:

png图片是日常最常用的图片,在网上下载的图片转换为png图片基本上都可以满足日常使用;

webp格式等互联网图片

webP是由谷歌推出的一种全新图片文件格式,与JPEG格式一样,WebP是一种有损压缩格式。不同的是,WebP格式的压缩效率更为出色,在同等质量下,WebP格式图像的体积要比JPEG格式图像小40%。目前互联网的流量中有65%为图片

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

代码语言:python代码运行次数:0复制
#! encoding:utf-8

from PIL import Image

src_img = 'image.webp'
dest_img = 'image.png'
img = Image.open(src_img)
img.save("image-2022.png")

svg图片

svg图片也是互联网常用的图片格式:

svg是一种开放标准的矢量图形语言,是可缩放的矢量图形格式。svg格式的图像可任意放大图形显示,而且边缘异常清晰,生成的文件很小,方便传输,文字在svg图像中保留可编辑和可搜寻的状态,没有字体的限制,所以十分适合用于设计高分辨率的Web图形页面。

svg转换为图片需要用得到的库是svglib,用于读取SVG文件并使用ReportLab开源工具包将它们转换为其他格式;

reportlab是Python的一个标准库,可以画图、画表格、编辑文字,最后可以输出PDF格式。它的逻辑和编辑一个word文档或者PPT很像。

伪代码如下:

代码语言:python代码运行次数:0复制
from reportlab.graphics import renderPM
from svglib import svglib

drawing = svglib.svg2rlg("img.svg")
renderPM.drawToFile(drawing, "img.png", fmt="PNG")
总结一下:

对于一般的图片格式,使用PIL库打开图片,另存为你需要的图片格式就行;

对于svg图片,需要使用svglib库加载图片,然后使用reportlab来画图成自己需要的格式;

0 人点赞