教你用 Python 生成 GIF 动图 !

最近啊 ,微信订阅号改变频繁 ,很多读者后台说 :小詹啊 ,我总是容易错过你公号的消息 ,现在没有置顶功能很难过啊 !


不止你们难过 ,订阅号的作者恐怕更难过 !现在人人公众号时代 ,大家关注的公众号一定不少吧 ?导致很多喜欢的公号内容容易错过 。


其实吧 ,没了置顶 ,还有星标功能呀 !可能大多数人不知道 ,所以我们几个关系不错的朋友说做个 GIF 图吧 ,引导读者星标 。说干咱就干 ,虽然很多软件可以制作 GIF ,但是我们是谁啊 ?我们是程序猿好嘛 ?自己动手丰衣足食 !于是就有了一个用 Python 生成 GIF 动图的故事~


首先给大家看看动图效果 !

教你用 Python 生成 GIF 动图 !


那么问题来了 ,代码呢 ?且慢慢看来 !


首先 ,调用一个 python 库 imageio 可以轻松实现 ,第一步当然是 pip 安装呀~

pip install imageio

安装之后 ,其实大体分为三个步骤 :


  • 读取静态图到列表中 ,作为 GIF 动图的每一帧
  • 设置输入(静态图)、输出(GIF 动图)和必要的参数 ,这里设置每一帧间隔时间 duration 为 1.5 秒 (具体值你高兴就好啦)
  • 然后调用 imageio 库的函数 imageio.mimsave 即可 。


PS :这里增加代码可读性 ,把 imageio.mimsave 和相关参数包装到一个函数内 。


整体代码和注释如下 :

教你用 Python 生成 GIF 动图 !


得到的结果如上动图 。值得一提的是 ,许多在线网站生成要么是数量限制 5 张 ,要么是自动生成水印 。内心日狗了一万次 。。。果然 ,代码是个好东西 。


需要完整代码 ,后台回复关键词 :GIF 。对啦 ,记得给小詹公号加星标噢 !加星标不迷路 !

上一篇:刷 LeetCode 那点事 !


下一篇:Leetcode打卡 | No.26 删除排序数组中的重复项