python有趣的简单代码_简单代码一学就会,Python生成GIF动图
文/IT可达鸭
图/IT可达鸭、网络
前言
最近在写技术文档的时候,发现一个问题。对于每个技术步骤,都需要一个截图,这样下来整篇文档都是截图,显得不是特别的专业。
为了解决这个问题,我想到一个方法,就是把技术文档中,每个模块系列截图生成一个动态GIF,这样就可以节省大量的篇幅,而且显得有技术水平一些。
举个例子:我们要在pycharm中安装一个python包,就可以按照以下的步骤去做。
是不是非常方便?这里我把源码分享给大家,来,上代码。
- 环境配置
python版本: 3.6.0
编辑器: pycharm
项目所需要的环境安装包
pip install imageio
第一步:导包
imageio:这个第三方库可以导入很多格式类型的照片,然后又可以将其导出成各种格式的照片,非常好用。
os:目录操作、路径操作、文件操作的包。
# encoding:utf-8import imageioimport os
第二步:生成GIF的函数
create_gif 函数,根据输入的图片文件路径,按顺序生成GIF。其中duration接收的参数单位是秒,也就是动图中每一帧的显示时间。
def create_gif(image_list, gif_name, duration = 1.0): ''' 生成GIF :param image_list: :param gif_name: :param duration: :return: ''' frames = [] for image_name in image_list: frames.append(imageio.imread(image_name)) imageio.mimsave(gif_name, frames, 'GIF', duration=duration) return
第三步:获取所有的图片
get_all_all_file: 获取指定文件夹下的所有图片文件,这里只获取目录的第一层文件,并且按文件名进行排序。如果想递归获取可以参考之前的文章《用python给女朋友画张素描,网友:程序员有女朋友?》里面有介绍如何递归获取文件。
def get_all_file(file_dir, tail_list=('.jpg', '.png', '.jpeg')): """ 获取所有的文件名 :param file_dir: 指定目录 :param tail_list: 指定文件类型(后缀名) :return: """ file_list = [] for root, dirs, files in os.walk(file_dir): for file in files: for tail in tail_list: if file.endswith(tail): file_list.append(os.path.join(root, file)) break file_list.sort() # 排序 return file_list
第四步:主函数
确定好原始图片存放的目录,以及生成的gif存放的目录位置,设置每张图片展示的时间。
if __name__ == '__main__': # 指定输入目录, 与输出目录 input_dir, output_dir = 'data', 'output' # 每张图片停留的时间(秒) duration = 1.5 file_list = get_all_file(input_dir) create_gif(file_list, os.path.join(output_dir, 'result.gif'), duration
结语
代码量不多,这就是python,有人喜欢它的简洁,有人喜欢它便捷。不可否认的是,现在连小学都开设python课程了。当然,python 也有它的弊端,它做不了大型高并发的后端,但是,对于人工智能的开发,python有它独特的优势。
如果有疑问想获取源码,可以关注后,在后台私信我,回复:python动图。 我把源码发你。持续关注"IT可达鸭",每天除了分享有趣Python源码,还会介绍NLP算法。最后,感谢大家的阅读,祝大家工作生活愉快!
python有趣的简单代码_简单代码一学就会,Python生成GIF动图相关推荐
- python的简单程序代码_怎么样都要学几个python的简单小程序
虹之菌BUG之前在学Python的时候,参考书上或网上的代码写了几个小程序,发出来算个学习笔记,也请朋友们帮着给找找代码中错误和不严谨的地方. 一.一个简单的下载程序 用过Curl后觉得它的下载功能很 ...
- python怎么变成动图_教你用 Python 生成 GIF 动图 !
最近啊 ,微信订阅号改变频繁 ,很多读者后台说 :小詹啊 ,我总是容易错过你公号的消息 ,现在没有置顶功能很难过啊 ! 不止你们难过 ,订阅号的作者恐怕更难过 !现在人人公众号时代 ,大家关注的公众号 ...
- Python生成gif动图
Python生成gif动图 调用一个 python 库 imageio 可以轻松实现该功能 安装 pip/pip3 install imageio 步骤 读取静态图到列表中 ,作为 GIF 动图的每一 ...
- Python生成 gif 动图
遍历文件夹下所有文件生成gif动图 文件按数字大小的顺序生成gif动图 pip install imageio fps参数越大播放的速率越大,fps越小播放的速度越慢 # This Python fi ...
- python遥感影像分类代码_【博客翻译】使用 Python Tensorflow 实现简单的神经网络卫星遥感影像分类...
Landsat 5 多光谱数据分类指导手册原作者:Pratyush Tripathy 翻译:荆雪涵 姐妹篇雪涵:[博客翻译]CNN 与中分辨率遥感影像分类zhuanlan.zhihu.com 深度学 ...
- python的gif为正方形_简单代码一学就会,Python生成GIF动图
文/IT可达鸭 图/IT可达鸭.网络 前言 最近在写技术文档的时候,发现一个问题.对于每个技术步骤,都需要一个截图,这样下来整篇文档都是截图,显得不是特别的专业. 为了解决这个问题,我想到一个方法,就 ...
- 最简单的图形用户代码_简单几句代码,画出精美的图形,快跟着学起来~
去年暑假实习了四个月的前端,接触了很多前端相关的东西,觉得前端真的比后端有趣多了啊,又好玩又有趣,相比后端千篇一律的代码,前端的千变万化一瞬间俘获了我的心~~~~~ 下面列举一些基础的前端图形制作代码 ...
- 简单好玩的编程代码_简单好玩的编程代码游戏
regaddHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run/vaaa/tREG_SZ/d%0/f---此句是来说往注册 ...
- java幻灯片播放代码_简单常用的幻灯片播放实现代码
幻灯片自动播放图片是当前网站比较流行的一个展示方式.在网上我们能找到各种特效丰富的幻灯片插件和代码.这里项目需要,我自己做了一个简单的,就不详细讲解了,代码很简单.直接看效果图和代码吧. 所有代码 p ...
最新文章
- 【跃迁之路】【724天】程序员高效学习方法论探索系列(实验阶段481-2019.2.14)...
- 二进制数代替数组做标记
- NFS服务器是什么?(Network File System 网络文件系统)(远程主机间 mount 挂载目录)(ubuntu:nfs-kernel-server)
- MFC动态链接库的制作步骤和使用方法
- 四种可变交流swap方法
- 怎样为ubuntu eclipse 添加 GBK字符集
- bundlefusion论文阅读笔记
- 不同层次程序员的比较:三流比设计,一流比方法,顶级比什么?
- NOI2004 郁闷的出纳员 splay
- mysql数据库事务实现方式_mysql事务的实现原理
- 【随笔】TongWeb 常见报错
- 解析纯真ip数据库php源码, 纯真数据库IP地理位置查询类
- easyx——c语言实时动画时钟
- 好用的电台APP推荐|这些年,陪伴我上下班的声音
- 基于聚类的个性化推荐电商案例分析总结
- Xmind进阶教程:配色指南
- Android不同屏幕适配的大神解决方案(转)
- python计算对数收益率_为VNPY的K线序列管理工具ArrayManager增加对数收益率队列
- Babylon.js 深入
- 实验24:超声波测距仪小实验
热门文章
- SecureCRT-SecureCRT如何保存界面的日志信息
- 【Spark】扩展Spark Catalyst,打造自定义的Spark SQL引擎
- 封装性的基本使用练习2
- linux实验报告makefile,linux实验二交叉编译和Makefile实验报告.doc
- go java nodejs 速度对比_除了node.js,Java、Python、Go 哪个适合web前端工程师
- 关于零拷贝技术,你了解多少?
- Latex数学符号对应表
- 离散数学知识点总结-命题逻辑
- leetcode题解151-翻转字符串里的单词
- Spring框架----Spring的依赖注入