Python Pillow 简明教程

Python Pillow - Converting Image File Formats

Converting image file formats 使用 Python Pillow 是一个简单的过程。您可以以一种格式打开图像并以另一种格式保存,指定所需的输出格式。此过程通常涉及以下步骤 −

  1. Open the Source Image : 使用 Image.open() 函数打开源图像。

  2. Save the Image : 使用 save() 方法以所需格式保存图像,指定新文件格式和目标。

Pillow 可以识别和读取超过 30 种不同的格式。使用 open() 函数时,Pillow 根据图像内容确定格式,而不仅仅是文件名。但是,在使用 save() 方法保存图像时,它通常会查看文件名以决定格式,除非您明确告知要使用哪种格式。

Pillow Supported File Formats

Pillow 支持各种图像格式,用于读取和写入。某些格式得到完全支持,这意味着您可以从这些格式的图像中读取和写入。其中包括常见的格式,如 JPEG、PNG、BMP、BLP、DDS、EPS、GIF、ICNS、ICO、MSP、PCX、PNG、PPM、SGI、TGA、TIFF、WebP 和 XBM。

此外,它还为一系列其他格式提供只读和只写支持。

  1. Read-Only Formats: CUR、DCX、FITS、FLI、FLC、FPX、GBR、GD、IMT、IPTC/NAA、MCIDAS、MIC、MPO、PCD、PIXAR、PSD、QOI、SUN、WAL 和 WMF/EMF。

  2. Write-Only Formats: PALM、PDF 和 XV 缩略图。

该库还可以识别诸如 BUFR、GRIB、HDF5 和 MPEG 等格式的图像格式。我们来看使用 Python Pillow 转换图像文件格式的示例。

Example

此示例将图像从 JPEG 转换为 PNG 格式。

from PIL import Image

# Open the source image in JPEG format
image = Image.open("Images/logo.jpg")

# Convert and save the image in PNG format
image.save("output_image_PNG_format.png")
print("Image saved successfully in PNG format...")

Output

Image saved successfully in PNG format...

Example

此示例将图像从 BMP 转换为 GIF 格式。

from PIL import Image

# Open the source image in BMP format
image = Image.open("Images/lena.bmp")

# Convert and save the image in GIF format
image.save("output_image.gif")
print("Image saved successfully in GIF format...")

Output

Image saved successfully in GIF format...

Example

此示例将图像从 GIF 转换为 TIFF 格式。

from PIL import Image

# Open the source image in GIF format
image = Image.open("Images/Book_Animation.gif")

# Convert and save the image in TIFF format
image.save("output_image.tiff")
print("Image saved successfully in TIFF format...")

Output

Image saved successfully in TIFF format...

Example

此示例将图像从 .bpm 文件格式转换为 .jpg 格式。

from PIL import Image

# Open the source image in BMP format
image = Image.open("Images/lena.bmp")

# Convert and save the image in JPEG format
image.save('lena_new.jpg')
print("Image saved successfully in JPEG format...")

Output

Image saved successfully in JPEG format...

如果您访问输出图像保存的文件夹,您可以观察到生成图像。