Pillow是一个第三方图像处理库,它提供了一系列的功能来帮助按照要求修改图像。
什么是Pillow
Pillow是Alex Clark和贡献者的一个友好的PIL分叉。PIL是由Fredrik Lundh和贡献者开发的Python图像库。
Python JPG转PNG图像
要在 Python中把JPG转换成PNG图像 ,可以使用Pillow库的Image.save()方法:
- 在Mac、Windows和Linux上安装Pillow。
- 从 pillow 库中导入 PIL 模块。
- 使用save()方法将JPG图片转换为PNG图片。
第1步:在Mac、Windows和Linux上安装Pillow
键入以下命令来安装枕头:
python3 -m pip install pillow
# OR
pip install pillow
我使用的是Macbook和Python3,所以我将使用第一个命令。
它为macOS提供了车轮格式的每个支持的Python版本的二进制文件。这些包括对所有可选库的支持,除了libimagequant和libxcb。Raqm 支持需要单独安装 libraqm、fribidi 和 harfbuzz。
你也可以用以下命令来安装它:
python3
Windows安装
Pillow提供了为支持的Pythons矩阵编译的32和64位版本的轮子格式的Windows二进制文件。这些二进制文件包括所有可选的库,除了raqm、libimagequant和libxcb。
python3
Linux安装
Pillow为Linux提供了每个支持的Python版本的二进制文件,采用manylinux wheel格式。这些包括对所有可选库的支持,除了libimagequant。Raqm支持需要单独安装libraqm、fribidi和harfbuzz。
python3
大多数主要的Linux发行版,包括Fedora、Debian/Ubuntu和ArchLinux,也包括以前包含PIL的软件包中的Pillow,例如,python-imaging。
第2步:从枕头中导入PIL模块
你可以使用以下代码从Pillow中导入PIL模块。
from PIL import Image
第3步:使用save()方法将JPG转换成PNG
PIL模块提供了一个Image类,有open()和save()这样的方法。
我们将使用**Image.open()方法打开我们项目文件夹中的JPG图片,然后使用Image.save()**方法将JPG图片转换为PNG图片。
我们将使用try-except子句来处理异常。
因此,如果输入的图片不正确或输入图片的路径不正确,那么我们将捕获异常并以我们的方式处理它。
请看下面的代码:
from PIL import Image
try:
imgPath = './data.jpg'
img = Image.open(imgPath)
img.save('./newData.png')
print('The image conversion from JPG to PNG is successful')
except FileNotFoundError:
print('Provided image path is not found')
输出
The image conversion from JPG to PNG is successful
data.jpg图片在我的项目目录中,所以它将保存newData.png图片。
在你的项目文件夹中,你可以找到newData.png 图片。
让我们来看看输入图片不在那里的情况,看看我们会得到什么输出。
from PIL import Image
try:
imgPath = './d.jpg'
img = Image.open(imgPath)
img.save('./newData.png')
print('The image conversion from JPG to PNG is successful')
except FileNotFoundError:
print('Provided image path is not found')
在这个例子中,d.jpg文件不在我当前的项目目录中。
所以在except块中,我们打印了这个:"未找到所提供的图片路径"。
现在,让我们看看输出。
Provided image path is not found
正如预期的那样,我们已经通过打印语句处理了这个异常。
总结
如果我们必须在Python中把JPG转换成PNG图像,我们可以使用枕头库的PIL模块,然后使用save()方法来转换图像。
这个例子展示了如何在macOS、Windows和Linux中安装枕头库。
然后我们导入PIL和Image类,使用open()和save()方法来完成任务。
就这样了。