zoukankan      html  css  js  c++  java
  • 一个挺好用的生成GIF格式图片的小程序

    import os
    import re
    import imageio
    
    pic_list = os.listdir()
    pic_type = ['png', 'jpg', 'jpeg', 'bmp']
    
    
    def create_gif(image_list, gif_name, duration):
        """
        gif_name : 字符串,所生成的 gif 文件名,带 .gif 后缀
        path :     需要合成为 gif 的图片所在路径
        duration :  gif 图像时间间隔
        """
    
        frames = []
        # 把图片 append 进列表
        for image_name in image_list:
            frames.append(imageio.imread(image_name))
        # 保存为 gif 图
        imageio.mimsave(gif_name, frames, 'GIF', duration=duration)
    
        return
    
    
    def main():
        # -------- 获取要拼合的图片列表 -------
        image_list = []
    
        for p in pic_list:
            for pt in pic_type:
                if pt in p:
                    image_list.append(p)
    
        image_list.sort(key=lambda i: int(re.match(r'(d+)', i).group()))
        print(image_list)
    
        # --------- 生成gif图片名称 ---------
        gif_name = 'new.gif'
    
        # --------- 变换时间 -------
        duration = 1
        create_gif(image_list, gif_name, duration)
    
    
    if __name__ == "__main__":
        main()
  • 相关阅读:
    组合模式
    备忘录模式
    适配器模式
    状态模式
    观察者模式
    建造者模式
    地图染色-四色定理
    c++传递函数当作对象传递
    位向量实现集合—王晓东数据结构
    动态规划之最大连续子序列
  • 原文地址:https://www.cnblogs.com/niuli1987/p/9947119.html
Copyright © 2011-2022 走看看