Python 为需要的图像添加填充

Python add padding to images that need it

我有一堆大小不一的图像,有些完全适合框架,有些有空白填充。

我想知道如何将它们中的每一个调整为相同的图像大小并具有大致相同的边框大小。

目前我在做

from PIL import Image
from glob import glob

images = glob('src/assets/emotes/medals/**/*.png', recursive=True)

for image_path in images:
    im = Image.open(image_path).convert('RGBA')
    im = im.resize((100, 100))
    im.save(image_path)

但这并没有考虑到可能的边界。

图片 1 - 101 x 101

图片 2 - 132 x 160

期望的结果 - 100 x 100

图片并不总是大于 (100, 100),所以我需要使用调整大小。

我也可以删除所有图像的 PNG 边框,然后调整大小,这可能更容易。

取自Crop a PNG image to its minimum sizeim.getbbox()将为您提供没有透明背景的原始图像。

文档:Pillow (PIL Fork)