# encoding: utf-8
from PIL import Image, ImageOps, ImageDraw
im = Image.open('elfen-lied-120.jpg')
width = im.width
height = im.height
# увеличиваем картинку
size = (im.width * 4, im.height * 4)
# маска
mask = Image.new('L', size, 0)
draw = ImageDraw.Draw(mask)
draw.ellipse((0, 0) + size, fill=255)
im = im.resize(size)
output = ImageOps.fit(im, mask.size, centering=(0.5, 0.5))
output.putalpha(mask)
output.thumbnail((width, height), Image.ANTIALIAS)
output.save('elfen-lied-120-circle2.png')
# надо бы пересохранить в jpg (сразу сохранять в jpg нельзя)
from PIL import Image, ImageOps, ImageDraw
size = (128, 128)
mask = Image.new('L', size, 0)
draw = ImageDraw.Draw(mask)
draw.ellipse((0, 0) + size, fill=255)
im = Image.open('elfen-lied-120.jpg')
output = ImageOps.fit(im, mask.size, centering=(0.5, 0.5))
output.putalpha(mask)
output.save('elfen-lied-120-circular.png')