记录一个PIL把透明背景转成白色背景的方法

起先在百度上搜到的文章,的确可以做到透明背景转成白色背景,但是缺陷非常严重,会导致图的背景产生很多像素点,而且效率也不是很高。

又经过了一番搜索之后,发现了一个更好的办法

from PIL import Image

try:
    imagePtah = 'your image file path'
    img = Image.open(imagePtah)
    if img.mode != 'RGBA':
        image = img.convert('RGBA')
    width = img.width
    height = img.height

    image = Image.new('RGB', size=(width, height), color=(255, 255, 255))
    image.paste(img, (0, 0), mask=img)

    image.show()
    
except Exception as e:
    print(e)

使用Image.paste,就是这么简洁好使。百度一生黑。
以上方法,当然也可以转成其他颜色,选你需要的就可以了,只要替换color=(255, 255, 255)就可以了。

猜你喜欢

转载自blog.csdn.net/Ser_Bad/article/details/106762611