Python 在特定位置的PIL中创建圆形缩略图

Python 在特定位置的PIL中创建圆形缩略图,python,python-3.x,python-imaging-library,Python,Python 3.x,Python Imaging Library,我一直在编写一个python文件,该文件根据用户的个人资料图片+名称向用户致意。我设法把他们的名字放在要求的区域,但我在粘贴一个圆形的个人资料图片在给定的地方有问题 下面是它的样子 输入 侧面图 输出 这里的关键是Image.paste的'mask'参数---“如果给定了掩码,此方法仅更新掩码指示的区域。” 因此,我们可以创建一个圆的图像,只粘贴轮廓图片的相关部分 from PIL import Image, ImageDraw background = Image.open('input

我一直在编写一个python文件,该文件根据用户的个人资料图片+名称向用户致意。我设法把他们的名字放在要求的区域,但我在粘贴一个圆形的个人资料图片在给定的地方有问题

下面是它的样子

输入 侧面图

输出


这里的关键是Image.paste的'mask'参数---“如果给定了掩码,此方法仅更新掩码指示的区域。”

因此,我们可以创建一个圆的图像,只粘贴轮廓图片的相关部分

from PIL import Image, ImageDraw

background = Image.open('input.jpg')
im = Image.open('profilepicture.png')

# Scale the image to be the size of the circle
im = im.resize((1024, 1024), Image.ANTIALIAS)

# Create the circle mask
mask = Image.new('L', im.size)
draw = ImageDraw.Draw(mask)
draw.ellipse((0, 0) + im.size, fill=255)

background.paste(im, (410, 1104), mask)
background.save('output.png')