繁体   English   中英

如何使用 Python 制作 1 小时的 gif?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM