[英]How to make a 1-hour gif using Python?
我想制作一个 1 小时长的 gif,其中包含 60 帧。
我已经使用 PIL 构建了一个 gif_making function:
sortedFiles = sorted(glob.glob('*.png'),key=os.path.getmtime)
sortedFilesBackwards = sorted(glob.glob('*.png'),key=os.path.getmtime, reverse= True)
full = [] + sortedFiles[:-1] + sortedFilesBackwards[:-1]
frames = [Image.open(image) for image in full]
frame_one = frames[0]
frame_one.save(f"{units}{fileName}.gif", format="GIF", append_images=frames,
save_all=True, duration=12000, loop=0)
但是,当我设置持续时间 = 360 000(毫秒 = 1 小时)时,我收到以下错误:
struct.error: ushort 格式要求 0 <= number <= (32767 *2 +1)
我在 macOS 上工作。
PS:我认为这与结构内的最大数据量有关?
持续时间是每帧显示多长时间,以毫秒为单位,因此您需要将其设置为 1,000 每帧显示一秒。
或者将其设置为 30,000,每帧显示 30 秒,然后将帧数加倍。
保存 GIF 时设置 FPS 值 例如:
ani.save('animation.gif', fps=3)
您设置的值将延长或缩短您的 gif
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.