How to create a circular thumbnail using python pillow and overlay on background image
1 answer
Here's an example using your images. In this example, the dimensions are hardcoded, but you can easily replace them with calculations. avatar.jpg and background.jpg are the images in your post, saved as they are.
Here's a link to the github repo for this example: python_pillow_circular_thumbnail
from PIL import Image, ImageOps, ImageDraw im = Image.open('avatar.jpg') im = im.resize((120, 120)); bigsize = (im.size[0] * 3, im.size[1] * 3) mask = Image.new('L', bigsize, 0) draw = ImageDraw.Draw(mask) draw.ellipse((0, 0) + bigsize, fill=255) mask = mask.resize(im.size, Image.ANTIALIAS) im.putalpha(mask) output = ImageOps.fit(im, mask.size, centering=(0.5, 0.5)) output.putalpha(mask) output.save('output.png') background = Image.open('back.jpg') background.paste(im, (150, 10), im) background.save('overlap.png')
Some of the crop of this code is borrowed from this.
Hope it helps!
+6
source to share