gpt4 book ai didi

python - 使用 PIL 从任何图像中删除透明度/alpha

转载 作者:太空狗 更新时间:2023-10-29 19:37:21 25 4
gpt4 key购买 nike

如何用特定背景颜色替换任何图像(png、jpg、rgb、rgba)的 alpha channel ?它还必须适用于没有 alpha channel 的图像。

最佳答案

这可以通过检查图像是否透明来完成

def remove_transparency(im, bg_colour=(255, 255, 255)):

# Only process if image has transparency (http://stackoverflow.com/a/1963146)
if im.mode in ('RGBA', 'LA') or (im.mode == 'P' and 'transparency' in im.info):

# Need to convert to RGBA if LA format due to a bug in PIL (http://stackoverflow.com/a/1963146)
alpha = im.convert('RGBA').split()[-1]

# Create a new background image of our matt color.
# Must be RGBA because paste requires both images have the same format
# (http://stackoverflow.com/a/8720632 and http://stackoverflow.com/a/9459208)
bg = Image.new("RGBA", im.size, bg_colour + (255,))
bg.paste(im, mask=alpha)
return bg

else:
return im

关于python - 使用 PIL 从任何图像中删除透明度/alpha,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35859140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com