記錄一個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)就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章