详解Python PIL Image.save()方法

  • Post category:Python

Python PIL是Python Imaging Library的缩写,是Python中常用的图像处理库之一。在PIL中,Image模块提供了丰富的图像处理功能,并且还提供了多种输出图像格式的方法。其中,Image.save()是一个常用的图像保存方法,能将PIL图像对象保存为指定格式的文件。接下来,我们将详细讲解Python PIL Image.save()方法的攻略。

方法介绍

Image.save(fp, format=None, **params)

  • fp:文件名(字符串)或文件句柄(指向已经打开的文件的指针)。
  • format:指定输出格式,如果未指定,则从文件名或文件句柄后缀获取格式。如果在文件名格式和format参数中都没有发现文件格式,则会引发ValueError异常。
  • params:格式特定的参数。如果format是JPEG,则params是包括质量、subsampling等的参数字典。如果format是PNG,则params是成对的可选项k个键和v个值,其中k表示在参数中一有用的形式,参数向键传递。如果format是PPM、PGM或PBM,则params应该是的元素元组(maxval)。 这个参数可以省略。

方法使用

示例一:保存PIL图像为JPEG格式

from PIL import Image

# 打开图片
img = Image.open('example.png')
# 保存为JPEG格式
img.save('example.jpg')

示例二:保存PIL图像为PNG格式,并设定压缩级别

from PIL import Image

# 打开图片
img = Image.open('example.jpg')
# 保存为PNG格式,并设置压缩级别为5(1-9,压缩级别越高,图片文件越小)
img.save('example.png', 'PNG', optimize=True, compress_level=5)

注意事项:

  • 在format参数中指定的格式,必须是PIL支持的格式之一。否则会引发ValueError异常。
  • 在保存图像时,参数列表中的参数不是必须的。如果不指定这些参数,PIL会以默认参数进行保存。

以上是Python PIL Image.save()方法的完整攻略及使用示例。如果你需要存储图像,并设定输出格式、压缩级别等参数,这个方法是非常方便且实用的。