枕头透明背景

时间:2020-09-03 11:37:24

标签: python python-imaging-library

我编写了以下代码,首先将图像的背景更改为“白色”,然后使其透明:

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可以保留白色背景而不使其透明。如何使背景透明?

0 个答案:

没有答案