详解Python PIL ImageOps.expand()方法

  • Post category:Python

Python PIL模块(Python Imaging Library模块)提供了ImageOps模块来操作图像。ImageOps.expand()方法是ImageOps模块中的一个方法,可扩展图像的尺寸大小并且根据指定的颜色将图像填充。

方法语法

ImageOps.expand(image, border, fill)

方法参数

  • image: Image对象或从Image草图创建的可用于操作的图像。
  • border: 扩展像素的边框。这个参数表示需要添加到每个边上的像素数。
  • fill: 可选参数,填充的颜色。默认情况下,它是黑色 (#000000),可以替换为其他颜色值。此参数可以是包含颜色值元组的一个字符串或颜色值元组。

方法返回值

返回扩展后的新的Image对象。

方法示例

下面是两个ImageOps.expand()方法的示例:

from PIL import Image, ImageOps

# 示例一
img1 = Image.open('image1.jpg')
# 扩展图像大小为原来大小的两倍,背景填充白色
new_img1 = ImageOps.expand(img1, border=100, fill='white')
new_img1.save('new_image1.png')

# 示例二
img2 = Image.open('image2.jpg')
# 扩展图像大小为原来大小的三倍,背景填充黑色
new_img2 = ImageOps.expand(img2, border=200, fill=(0, 0, 0))
new_img2.save('new_image2.png')

在这个示例中,我们使用了两个样例图像(image1.jpg和image2.jpg)并使用了ImageOps.expand()方法来扩展它们的大小。 示*例一将每个边界添加了100像素,使新图像的大小为原来的两倍,同时背景颜色填充为白色。 示例二将每个边界添加了200像素,使新图像的大小为原来的三倍,背景颜色填充为黑色。

这两个示例展示了如何使用ImageOps.expand()方法来为图像添加边框并且扩展它们的大小。