我正在尝试从多个图像文件生成GIF,如下thread
当我使用Image.open()
从一个目录打开一个物理文件,然后附加列表以生成GIF时,Kris的答案非常有效
imgs = [Image.open(f) for f in os.listdir(os.getcwd())]
imgs[0].save('{}.gif'.format(img_filename),
format='GIF',
append_images=imgs[1:],
save_all=True,
duration=args.duration,
loop=0)
这工作正常,输出GIF实际上是动画的。我注意到列表glitched_imgs
在本例中由PIL.PngImagePlugin.PngImageFile
对象组成
然而,每当我尝试使用从函数返回的Image
对象时,生成的GIF是完全静态的
imgs = [get_randomized_image() for _ in range(args.frames)]
imgs[0].save('{}.gif'.format(img_filename),
format='GIF',
append_images=imgs[1:],
save_all=True,
duration=args.duration,
loop=0)
其中get_randomized_image()
返回随机的Image
对象,特别是从numpy
数组返回
# Inside `get_glitched_image()`
return Image.fromarray(outputarr, img_mode)
我想用这个函数返回的对象列表直接生成一个GIF,我如何才能实现这一点
注意:我在第一个(工作)方法中打开的文件是我在使用get_randomized_images()
之前保存的文件,因此我可以向您保证它们完全相同
目前没有回答
相关问题 更多 >
编程相关推荐