如何用Python将JPG转换为PNG图像(附代码)

1,517 阅读3分钟

Pillow是一个第三方图像处理库,它提供了一系列的功能来帮助按照要求修改图像。

什么是Pillow

Pillow是Alex Clark和贡献者的一个友好的PIL分叉。PIL是由Fredrik Lundh和贡献者开发的Python图像库。

Python JPG转PNG图像

要在 Python把JPG转换成PNG图像 ,可以使用Pillow库的Image.save()方法:

  1. 在Mac、Windows和Linux上安装Pillow。
  2. 从 pillow 库中导入 PIL 模块。
  3. 使用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()方法来完成任务。

就这样了。