gpt4 book ai didi

python - 使用Python Imageio在gif中透明背景

转载 作者:太空狗 更新时间:2023-10-30 01:05:12 25 4
gpt4 key购买 nike

基本上我使用下面的代码从图像中制作 gif,我的图像是具有透明背景的 png 但 gif 是黑色背景。我不知道如何制作具有透明背景的 gif。

#gif writer
with io.get_writer('my.gif', mode='I', duration=0.1) as writer:
for filename in file_names:
image = io.imread(filename)
writer.append_data(image)
#writer.close()

其中 filenames 是一个数组,其中包含要使用的所有文件名。

最佳答案

试试 PIL

from PIL import Image

def gen_frame(path):
im = Image.open(path)
alpha = im.getchannel('A')

# Convert the image into P mode but only use 255 colors in the palette out of 256
im = im.convert('RGB').convert('P', palette=Image.ADAPTIVE, colors=255)

# Set all pixel values below 128 to 255 , and the rest to 0
mask = Image.eval(alpha, lambda a: 255 if a <=128 else 0)

# Paste the color of index 255 and use alpha as a mask
im.paste(255, mask)

# The transparency index is 255
im.info['transparency'] = 255

return im


im1 = gen_frame('frame1.png')
im2 = gen_frame('frame2.png')
im1.save('GIF.gif', save_all=True, append_images=[im2], loop=5, duration=200)

关于python - 使用Python Imageio在gif中透明背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46850318/

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