我编写了以下代码,首先将图像的背景更改为“白色”,然后使其透明:
def remove_transparency(self, im, bg_colour=(255, 255, 255)):
if im.mode in ('RGBA', 'LA') or (im.mode == 'P' and 'transparency' in im.info):
alpha = im.convert('RGBA').split()[-1]
bg = Image.new("RGBA", im.size, bg_colour)
bg.paste(im, mask=alpha)
return bg
else:
return im
def make_transparent(self, img):
img = img.convert("RGBA")
datas = img.getdata()
newData = []
for item in datas:
if item[0] == 255 and item[1] == 255 and item[2] == 255:
newData.append((255, 255, 255, 0))
else:
newData.append(item)
img.putdata(newData)
return img
为其提供图像:https://flashscore.com/res/image/data/WQSZxrg5-bLMpv5yI.png
可以保留白色背景而不使其透明。如何使背景透明?