文/IT可达鸭

图/IT可达鸭、网络

前言

最近在写技术文档的时候,发现一个问题。对于每个技术步骤,都需要一个截图,这样下来整篇文档都是截图,显得不是特别的专业。

为了解决这个问题,我想到一个方法,就是把技术文档中,每个模块系列截图生成一个动态GIF,这样就可以节省大量的篇幅,而且显得有技术水平一些。

举个例子:我们要在pycharm中安装一个python包,就可以按照以下的步骤去做。

是不是非常方便?这里我把源码分享给大家,来,上代码。

环境配置

python版本: 3.6.0

编辑器: pycharm

项目所需要的环境安装包

pip install imageio

第一步:导包

imageio

:这个第三方库可以导入很多格式类型的照片,然后又可以将其导出成各种格式的照片,非常好用。

os

:目录操作、路径操作、文件操作的包。

# encoding:utf-8

import imageio

import 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的gif为正方形_简单代码一学就会,Python生成GIF动图相关推荐

  1. python有趣的简单代码_简单代码一学就会,Python生成GIF动图

    文/IT可达鸭 图/IT可达鸭.网络 前言 最近在写技术文档的时候,发现一个问题.对于每个技术步骤,都需要一个截图,这样下来整篇文档都是截图,显得不是特别的专业. 为了解决这个问题,我想到一个方法,就 ...

  2. python代码大全表解释-Python中顺序表的实现简单代码分享

    顺序表python版的实现(部分功能未实现) 结果展示: 代码示例: #!/usr/bin/env python # -*- coding:utf-8 -*- class SeqList(object ...

  3. python怎么变成动图_教你用 Python 生成 GIF 动图 !

    最近啊 ,微信订阅号改变频繁 ,很多读者后台说 :小詹啊 ,我总是容易错过你公号的消息 ,现在没有置顶功能很难过啊 ! 不止你们难过 ,订阅号的作者恐怕更难过 !现在人人公众号时代 ,大家关注的公众号 ...

  4. Python生成gif动图

    Python生成gif动图 调用一个 python 库 imageio 可以轻松实现该功能 安装 pip/pip3 install imageio 步骤 读取静态图到列表中 ,作为 GIF 动图的每一 ...

  5. Python生成 gif 动图

    遍历文件夹下所有文件生成gif动图 文件按数字大小的顺序生成gif动图 pip install imageio fps参数越大播放的速率越大,fps越小播放的速度越慢 # This Python fi ...

  6. python简单代码-手把手教你用Python创建简单的神经网络(附代码)

    了解神经网络工作方式的***途径莫过于亲自创建一个神经网络,本文将演示如何做到这一点. 神经网络(NN)又称人工神经网络(ANN),是机器学习领域中基于生物神经网络概念的学习算法的一个子集. 拥有五年 ...

  7. [转载] python中的且语句_简单探讨python中的语句和语法

    参考链接: 在Python中解包:并行分配之外 python程序结构 python"一切皆对象",这是接触python听到最多的总结了.在python中最基层的单位应该就是对象了, ...

  8. python爬虫抓收费图片_简单的抓取淘宝图片的Python爬虫

    写了一个抓taobao图片的爬虫,全是用if,for,while写的,比较简陋,入门作品. 从网页http://mm.taobao.com/json/request_top_list.htm?type ...

  9. python儿童编程教程视频_简单回顾_清华尹成python入门教程_少儿编程视频-51CTO学院...

    此课程与<清华编程高手.尹成.带你实战python入门>大体相同,只需购买其中的一门课程. 本课程由清华大学尹成老师录制,课程的特色在于讲解原理的同时引入了每个程序员都热衷的黑客技术.py ...

最新文章

  1. 华为员工实力炫富,工作六年一套房一辆豪车,存款六十万
  2. sql server 2008学习6 更复杂的查询
  3. 装修相片(第50天拍,全部,25号更新)
  4. 从数学优化到视觉设计
  5. 学校为什么要单位接收函_学校、小区运动场为什么要选择塑胶跑道
  6. python清理垃圾_用Python自动清理系统垃圾,再也不用360安全卫士了
  7. STL学习笔记--歌唱比赛(综合题)
  8. 让css旋转字体图标
  9. GHOSTXP_SP3电脑公司装机特别版 V30.0[NTFS]
  10. 深度解析中国养老产业发展前景
  11. 生产环境nginx集群高可用方案
  12. 学会这5招,快速清理c盘!
  13. Ansible:遇到错误 sudo: /etc/sudoers is world writable\r\nsudo: no valid sudoers sources found, quitting
  14. 《堂食点餐》APP代码前后端全部免费开源啦!
  15. Origin Pro2017 不等间距图
  16. 微积分——求导数的链式法则
  17. Navigation测试常用网址导航工具
  18. commvault xtrabackup全实例备份失败 处于未决状态
  19. 正则提取数字、英文、中文
  20. 参会人员如何快速入场?高科技来帮忙

热门文章

  1. 华为mate40和p40系列有什么区别 华为mate40和p40pro哪个好
  2. java构造函数的特点_java中构造函数的特点是什么?图文解析
  3. C语言 单精度和双精度实数输出
  4. html5视频添加封面,HTML5 video截取视频封面图片播放代码
  5. 2021-07-29 打印机不出现PDF打印
  6. 【CSS基础】盒子模型、浮动布局、ps切图、定位及一些零碎知识点
  7. Android开发之调用相机拍照与本地图库选择图片
  8. 基于单片机心率脉搏心率血压体温血氧检测系统的设计与实现
  9. 基于AlexNet卷积神经网络的手写体数字识别系统研究-附Matlab代码
  10. 将页眉分为5部分html,东财19秋《计算机应用基础》在线作业一(随机)【标准答案】...