假设我有两张不同的动图
gif1 = Image.open(filename)
gif2 = Image.open(filename)
有什么办法可以将它们合并在一起吗?或者喜欢将它们堆叠在一起?
from PIL import Image, ImageSequence
import sys, os
filename = sys.argv[1]
im = Image.open(filename)
original_duration = im.info['duration']
frames = [frame.copy() for frame in ImageSequence.Iterator(im)] frames.reverse()
from images2gif import writeGif
writeGif("reverse_" + os.path.basename(filename), frames, duration=original_duration/1000.0, dither=0)
我认为这是解决方案或可以接近你想要实现的目标
实际上,我刚刚实现了合并两个 GIF,就像通过 PIL 从 png 文件创建 GIF 一样。
示例代码:
import os
from PIL import Image
gif = []
# Assuming you have a directory that includes only your GIFs
img_list = os.listdir()
# OPTIONAL: Sort them according to their file names
img_list.sort()
for image in img_list: append(Image.open(image))
gif[0].save('merged.gif', save_all=True,
optimize=False, append_images=gif[1:],
loop=10, duration=300)
希望有帮助。
最好的, 莱纳斯