废话不多说,直接上代码 12345678910111213141516171819from PIL import Image, ImageFilter, ImageOpsimg = Image.open('/Users/demo/Desktop/b.png') # 原图路径def dodge(a,b,alpha): return min(int(a*255/(256-b*alpha)),255)def draw(img,blur=25,alpha=1.0): img1 = img.convert('L') img2 = img1.copy() img2 = ImageOps.invert(img2) for i in range(blur): img2 = img2.filter(ImageFilter.BLUR) width,height = img1.size for x in range(width): for y in range(height): a = img1.getpixel((x,y)) b = img2.getpixel((x,y)) img1.putpixel((x,y),dodge(a,b,alpha)) img1.show() img1.save("/Users/demo/Desktop/a1.png") # 生成后的图片draw(img) 效果图原图:转换后的图: