• GIF的分离与合成


    #GIF合成
    import
    PIL.Image as Image def get_gif(pics_dir,n,t=0.1): imgs = [] for i in range(1,n): pic_name = '{}.png'.format(i) #名字需要与图片名称对应 temp = Image.open(pic_name) imgs.append(temp) save_name = '{}.gif'.format(pics_dir) imgs[0].save(save_name, save_all=True, append_images=imgs, duration=t) return save_name if __name__ == '__main__': pics_dir = '_____' #文件夹名称 save_name = get_gif(pics_dir,____,____) #图片张数,切换秒数 print('制作完成。所属文件:{}'.format(save_name))

    效果如下:

    显然慢的那张是我做的。

    为什么没有那种丝滑的感觉?

    也许是因为我这0.1秒读图是不是过于慢了啊(自我拷问)

    但即使我调到0.0001秒也是没有那种丝滑的感觉(求助)

    这代码只需要改3个参数就可(大牛们的答案可太强了)

    重要提醒:py文件最好是与小图片们放在同一个文件夹!!!

     图片名称最好是以0开头 这样for in 循环就是从0开始

    因为把gif分解后编号正常情况下是从0开始的

    #GIF分离
    from
    PIL import Image im = Image.open('X.gif') # 读入一个GIF文件 try: im.save('picframe{:02d}.png'.format(im.tell())) while True: im.seek(im.tell()+1) im.save('picframe{:02d}.png'.format(im.tell())) except: print("处理结束")

    同理,gif图与py文件最好放在一个同一个文件夹,不能放在桌面

    否则多出来的图片会塞满你的桌面会影响你的心情(前车之鉴)

  • 相关阅读:
    剑指offer-整数中1出现的次数
    数据流中的中位数
    二叉搜索树的后序遍历序列
    Java 线程阻塞和唤醒
    Java 线程池
    Python哈希表和解析式
    Python线性数据结构
    python 基础知识
    pyenv虚拟环境管理python多版本和软件库
    Paramiko的SSH和SFTP使用
  • 原文地址:https://www.cnblogs.com/lalalala-fan/p/12695740.html
Copyright © 2020-2023  润新知