How to create a circular thumbnail using python pillow and overlay on background image
avatar.jpg
back.jpg
How to synthesize two images as follows?
I Effect:
+3
Think.ing
source
to share
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')
output.png:
overlap.png:
Some of the crop of this code is borrowed from this.
Hope it helps!
+6
Shaunak
source
to share