美文网首页
PIL实现GIF倒放

PIL实现GIF倒放

作者: halfempty | 来源:发表于2019-04-20 07:59 被阅读0次

    1. 前言

    玩社交软件, 经常出现倒放怪
    不得不承认, 倒放有时给人更新奇的感觉

    2. 知识点

    GIF图由一帧帧的图片组成, 连续播放即形成动画效果
    倒放的本质是将GIF的帧拆分, 倒序排列, 再组合
    所以感兴趣的朋友, 可以任意排列的组合, 或者抽取多张图片的元素拼接, 以达到意想不到的效果

    • Image.seek(0), 类似读文件, 快速定位指定索引的帧
    • ImageSequence.Iterator(im), 一帧帧迭代

    3. 源码实现

    from PIL import Image, ImageSequence
    import uuid
    
    
    filename = '/home/lion/Pictures/a25d7c22161ed3acc665a94d15845fac.gif'
    im = Image.open(filename)
    
    ims = [m.copy() for m in ImageSequence.Iterator(im)]
    ims = ims[::-1]
    
    out = '{}.gif'.format(uuid.uuid1())
    ims[0].save(out, save_all=True, append_images=ims[1:])
    

    4. 效果图

    a25d7c22161ed3acc665a94d15845fac.gif
    8a2426e2-62fa-11e9-a65f-20689d1ba603.gif

    相关文章

      网友评论

          本文标题:PIL实现GIF倒放

          本文链接:https://www.haomeiwen.com/subject/fttkgqtx.html