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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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)就可以了。

坚持原创分享,您的支持将鼓励我继续创作!