千家信息网

Python怎么实现gif动图倒放

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,今天小编给大家分享一下Python怎么实现gif动图倒放的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们
千家信息网最后更新 2024年11月11日Python怎么实现gif动图倒放

今天小编给大家分享一下Python怎么实现gif动图倒放的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

开发环境 :pycharm + win10下python环境

主题思路就是将gif动图的每一帧都截取下来,将整张动图拆分成图片流,然后将图片流反序,最后将反序后的图片流重新合成成一张gif动图,下面贴上代码 :

# python下的图像处理库from PIL import Image, ImageSequence# 系统模块import os# 用于读取gif动图im = Image.open("读取图片的名称")# gif图片流的迭代器iter = ImageSequence.Iterator(im)index = 1for frame in iter:    # 每一帧图片    print("image %d: mode %s, size %s" % (index, frame.mode, frame.size))    # 若保存的路径不存在,则创建文件夹    path = "imgs"    if path not in os.listdir():        os.makedirs(path)    # 将每一帧图片保存到imgs文件夹下    frame.save("./imgs/frame%d.png" % index)    index += 1# 将gif拆分成图片流imgs = [frame.copy() for frame in ImageSequence.Iterator(im)]# 输出原图# imgs[0].save("./out.gif", save_all=True, append_images=imgs[1:])# 将图片流反序imgs.reverse()# 将反序后的图片流保存并输出imgs[0].save("./reverse_out.gif", save_all=True, append_images=imgs[1:])

然后下面是拆分的图片流:

最后是效果图对比,下面是原图:

之后就是倒放的动图:

以上就是"Python怎么实现gif动图倒放"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

0