用python PIL从图片中剪切出圆形图片

使用函数方法,传进去一个PIL的image对象,虚化值(就是模糊到啥程度),返回一个剪切后的image对象,背景部分是透明的(就是圆的四周多余的那部分边框)

from PIL import Image, ImageDraw, ImageFont, ImageFilter
def mask_circle_transparent(pil_img, blur_radius, offset=0):
    offset = blur_radius * 2 + offset
    mask = Image.new("L", pil_img.size, 0)
    draw = ImageDraw.Draw(mask)
    draw.ellipse(
        (offset, offset, pil_img.size[0] - offset, pil_img.size[1] - offset), fill=255)
    mask = mask.filter(ImageFilter.GaussianBlur(blur_radius))

    result = pil_img.copy()
    result.putalpha(mask)

    return result