几行Python代码实现动图倒放,太好玩(python代码画动态图)

网友投稿 276 2022-09-07


几行Python代码实现动图倒放,太好玩(python代码画动态图)

大家好,我是辰哥~

开始分享今天的技术之前,先来看几个动图(gif)

(原图1)

(倒放1)

(原图2)

(倒放2)

上诉两个动图,可以通过几行Python代码就可以实现倒放效果。

导入库

from PIL import Image, ImageSequence

Image库用于读取(加载)图片

ImageSequence 用于将GIF拆解为图片(一帧一图)

# 加载本地动图image = Image.open("cg.gif")# GIF 动图拆分器list = ImageSequence.Iterator(image)

拆分动图

imgs = []# 拆分后的图片进行编号,从1开始k = 1# 遍历图片流的每一帧for frame in list: # 拆分后的图片,保存到chenge文件夹下,图片命名为img_1.png、img_2.png、... frame.save("./chenge/img_%d.png" % k) imgs.append(frame.copy()) k += 1

将拆解后的帧图进行反转(倒序排列),并保存成新的动图reverse_cg.gif

# 拆分图片流进行反序imgs.reverse()# 将反序后所有帧图保存下来,命名为reverse_cg.gifimgs[0].save("reverse_cg.gif", save_all=True, append_images=imgs[1:])

最后生成结果

完整源码

from PIL import Image, ImageSequence# 加载本地动图image = Image.open("cg.gif")# GIF 动图拆分器list = ImageSequence.Iterator(image)imgs = []# 拆分后的图片进行编号,从1开始k = 1# 遍历图片流的每一帧for frame in list: # 拆分后的图片,保存到chenge文件夹下,图片命名为img_1.png、img_2.png、... frame.save("./chenge/img_%d.png" % k) imgs.append(frame.copy()) k += 1# 拆分图片流进行反序imgs.reverse()# 将反序后所有帧图保存下来,命名为reverse_cg.gifimgs[0].save("reverse_cg.gif", save_all=True, append_images=imgs[1:])

以上就是本文的动图倒放技术过程

原理:读取动图,将动图进行拆分(一帧一图),将拆分后的动图进行反转(实现倒放的关键),然后反转后的图片保存新动图(gif)。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python基础架构(python架构师)
下一篇:jetbrain fleet对标vscode实际操作
相关文章

 发表评论

暂时没有评论,来抢沙发吧~