Python Pillow - 添加图像边框



在图像处理中,添加图像边框是一项常见的任务。边框可以帮助框定内容,吸引对特定区域的注意,或添加装饰元素。在 Pillow (PIL) 中,使用 **ImageOps** 模块的 **expand()** 方法可以增加图像的尺寸,在图像周围添加边框或填充。这对于添加边框、创建特定尺寸的画布或调整图像大小以适应特定纵横比等多种用途都很有帮助。

expand() 方法

**expand()** 方法可用于为图像添加边框并调整其尺寸,同时保持纵横比。我们可以自定义大小和边框颜色以满足我们的特定需求。

以下是 expand() 方法的基本语法:

PIL.Image.expand(size, fill=None)

其中:

  • **size** - 指定扩展图像的新尺寸(即宽度和高度)的元组。

  • **fill (可选)** - 用于填充边框区域的可选颜色值。它应指定为颜色元组 (R, G, B) 或表示颜色的整数值。

以下是本章所有示例中使用的输入图像。

expanded image

示例

在这个示例中,我们使用 **expand()** 方法创建带有边框的扩展图像。

from PIL import Image, ImageOps

#Open an image
image = Image.open("Images/hand writing.jpg")

#Define the new dimensions for the expanded image
new_width = image.width + 40  
#Add 40 pixels to the width
new_height = image.height + 40  
#Add 40 pixels to the height

#Expand the image with a white border
expanded_image = ImageOps.expand(image, border=20, fill="red")

#Save or display the expanded image
expanded_image.save("output Image/expanded_output.jpg")
open_expand = Image.open("output Image/expanded_output.jpg")
open_expand.show()

输出

image with red border

示例

这是另一个示例,我们使用 **Image** 模块的 **expand()** 方法使用蓝色扩展图像边框。

from PIL import Image, ImageOps

#Open an image
image = Image.open("Images/hand writing.jpg")

#Define the new dimensions for the expanded image
new_width = image.width + 40  
#Add 40 pixels to the width
new_height = image.height + 40  
#Add 40 pixels to the height

#Expand the image with a white border
expanded_image = ImageOps.expand(image, border=100, fill="blue")

#Save or display the expanded image
expanded_image.save("output Image/expanded_output.jpg")
open_expand = Image.open("output Image/expanded_output.jpg")
open_expand.show()

输出

image with blue border
广告