一、简介

moviepy是一个专门用于视频剪辑制作的模块,可以自动化完成很多繁琐的视频剪辑处理工作,除了处理视频数据之外,moviepy中还内置了可以制作gif动图的功能,通过使用moviepy.editor中的ImageSequenceClip,可以以自动化的方式批量生成指定参数要求的gif动图,本文就将针对ImageSequenceClip的使用展开介绍。

二、利用ImageSequenceClip()合成动图

ImageSequenceClip()中的主要参数如下:

sequence:这个参数控制用于制作gif动图的图片,有三种传入形式:

1、传入字符串:当传入字符串时,这个字符串表示的是存放指定一系列图片的文件夹(只能存在所需图片文件)路径

2、传入列表:当传入列表时,这个列表按顺序存放制作动图所需的图片文件名称

3、传入元素为numpy数组的列表:这种方式下所传入列表中每个元素是对应一张图片的numpy数组,不太推荐这种方式是因为需要将所需图片共同读入内存中,对于所需图片数量较多的时候对内存可能会造成一定的压力

fps:这个参数用于控制gif动图的帧率,譬如传入fps=1时表示每秒切换一张动图

下面我们通过一个完整的例子来进行演示,首先我们新建一个文件夹并在里面放入一张空白图片seed.png,接下来我们利用PIL中的ImageDraw向空白图像上绘制数字:

from PIL importImageFont,Image,ImageDrawimportos

os.chdir(r'C:\Users\hp\Desktop\gif示例')#设置字体和字号大小

font = ImageFont.truetype('simhei.ttf',200)for idx in tqdm_notebook([i for i in range(1,11)][::-1]):

im1=Image.open('seed.png')#在图片上添加文字

draw =ImageDraw.Draw(im1)

draw.text((200,150),str(idx),(0,0,0),font)

draw=ImageDraw.Draw(im1)#保存图片

im1.save('./imgs/'+str(idx)+".png")

得到如下图片:

接下来我们来制作一个简单的倒计时gif:

from moviepy.editor importImageSequenceClip

img_names= ['./imgs/'+str(i)+'.png' for i in range(1,11)]

img_names.reverse()

clip= ImageSequenceClip(img_names,fps=1)

clip.write_gif('demo.gif')

效果如下:

以上就是本文的全部内容,如有笔误望指出!

python制作gif动画_实用的Python(2)利用Python制作gif动图相关推荐

  1. python canvas画弧度_编程作战丨如何利用python绘制可爱皮卡丘?

    好莱坞真人电影<精灵宝可梦:大侦探皮卡丘>预告片已经发布了,正片将于今年5月10日上映. 如果要做一个「童年梦想排行榜」的话,相信「拥有一只皮卡丘」这个梦想一定会名列前茅! 毕竟,谁不想揉 ...

  2. python画圆形螺旋线_硬核教程,利用 Python 搞定精美网络图!

    硬核教程, 利用 Python 搞定精美网络图! 一.NetworkX 概述 NetworkX 是一个用 Python 语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进 ...

  3. 利用python 对比相似度_牛逼了,利用Python实现“天眼系统”,只要照片就能了解个人信息...

    前言 在有一些电影里面,特别是科幻高科技电影里面经常出现的一幕,获得某人的照片然后进行各种数据对比,然后找出这个人的个人信息:姓名.年龄.性别.工作等等. 理论上:你可以建立一个你感兴趣的百万级的数据 ...

  4. python可以实现什么黑科技_实用黑科技!利用python给手机发短信

    之前告诉大家使用python可以应用于很多场景,除了大家所知道的,今天给大家带来一个特别好玩的事情,就是能用python去发短信,赶紧看下文吧~ 准备工作内容: SDK AppID.App Key.应 ...

  5. python模拟按键包_今天玩点啥:利用python之PyUserInput实现模拟鼠标键盘操作,抢红包?聊天?自动下载?...

    一.PyUserInput安装 python3.5的PyMouse和PyKeyboard模块都集成到了PyUserInput模块中.在python3.5中,直接安装PyUserInput模块即可 Py ...

  6. 实战python网络爬虫豆瓣_三分钟教会你利用Python爬虫实现豆瓣电影采集(实战篇)...

    一.项目背景 豆瓣电影提供最新的电影介绍及评论包括上映影片的影讯查询及购票服务.可以记录想看.在看和看过的电影电视剧 .顺便打分.写影评.极大地方便了人们的生活. 今天小编以电视剧(美剧)为例,批量爬 ...

  7. python打印皮卡丘步骤_编程作战丨如何利用python绘制可爱皮卡丘?

    好莱坞真人电影<精灵宝可梦:大侦探皮卡丘>预告片已经发布了,正片将于今年5月10日上映. 如果要做一个「童年梦想排行榜」的话,相信「拥有一只皮卡丘」这个梦想一定会名列前茅! 毕竟,谁不想揉 ...

  8. python制作ppt动画_天呐,还能这么玩!用 Python 生成动态 PPT

    在工作的过程中,我们会发现那些能够把知识.成果讲透的人很多都会做动态图表. 这篇文章就介绍了 Python 中一种简单的动态图表制作方法,这样生成的动图就可以丰富我们的PPT啦~ 数据暴增的年代,数据 ...

  9. 用python制作3d动画_-用 Python 做科学计算--Visual-制作3D演示动画

    # Visual-制作3D演示动画 [Visual](http://vpython.org) 是Python的一个简单易用的3D图形库,使用它可以快速创建3D场景.动画.和TVTK相比它更加适合于创建 ...

最新文章

  1. 思科交换机vlan配置
  2. 3.25 for循环
  3. python中 time、datetime、random模块
  4. vim 分屏 最大化_5分钟学会Vim分屏操作方方面面
  5. Flex通用克隆(clone)方法
  6. java 后端 验证码逻辑_Java后端产生验证码后台验证功能的实现代码
  7. 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录
  8. CF1572B. Xor of 3
  9. android 系统源码调试 局部变量值_如何方便快速的整编Android 9.0系统源码?
  10. 滴水穿石--mysql添加授权用户命令
  11. 用python画多来a梦-使用Python的Turtle绘制哆啦A梦实例
  12. 【转】在centos linux上安装jdk7
  13. iOS获取当前app的名称和版本号
  14. 精密单点定位/PPP软件GAMP学习之一
  15. Update Statistics用法
  16. XMind初使用【常规操作快捷键】
  17. 梦参老和尚:糊涂人念〈大悲咒〉往生的故事
  18. winhex先Add再XOR后的数据恢复
  19. math.floor java_Java Math floor、ceil、rint 及 round 用法
  20. GOP I帧和IDR帧

热门文章

  1. Nginx中Gzip压缩功能的实例配置
  2. Single System Image的理解
  3. 阿里云OSS-对象存储流程梳理演示
  4. 引入外部化的配置文件
  5. 方法入门_方法的定义
  6. 方法的重写-扩展父类方法,super对象调用父类方法
  7. SpringCloud:Ribbon负载均衡(基本使用、 负载均衡、自定义配置、禁用 Eureka 实现 Ribbon 调用)
  8. php递归复制文件内容,PHP递归复制整个文件夹
  9. mongodb java连接 集群_java连接mongodb集群
  10. 编写自适应高度的 textarea