turtle
是python中的一个简单的绘图工具,可以用来画很多有趣的东西(具体用法见官方文档)。
但是,现在turtle
绘图的动画展示都是基于窗口的,至于录制和转换为视频的过程,仍然是一个空白。
turtle_recorder
则是对这一空白的弥补。在python和一些工具的帮助下,只需几行代码,就可以把绘图的过程和结果录制进来,转换为mp4
视频或者gif
动图。
- Python 3.6
- Python 2.7 (不太确定,如果出现问题请提issue)
-
安装依赖的python库:
numpy
,matplotlib
,PIL
pip install -r requirements.txt
-
安装
turtle_recorder
:git clone
或者下载为zip
,在根目录下python setup.py install
-
安装Ghostscript并添加到PATH环境变量中(Windows操作,Linux及Mac OS应该有类似操作,欢迎补充)
-
转换为视频:安装ffmpeg并添加到PATH环境变量
-
转换为gif:安装ImageMagick并添加到PATH环境变量
代码样例见example.py
,核心代码如下:
from pegga import main # 导入原来画图的函数,注意要删去末尾的done()或turtle.done()
from turtle_recorder import Recorder
with Recorder(main, fps=30) as peg: # fps为每秒帧数
peg.to_video('./media/pegga.mp4') # 保存为mp4视频
peg.to_gif('./media/pegga.gif') # 保存为gif图片
执行完成后,在对应目录(此例中是./media
文件夹)查看结果。
视频或动图的生成时间可能较长,如果没有报错,请耐心等待。
如果使用过程有问题或报错,请先检查是否安装好对应的工具,然后在issue中提出。
在此感谢StackOverflow社区中该问题下的答案,这给予了我绘图捕获过程中的部分启发。
展示动画(小猪佩奇)代码pegga.py
来自Monster12138/-,在此表示感谢。
本项目基于MIT License开源。(查看LICENSE
文件获取更多信息)
- 2018/6/3: Version 0.1.0
- 2018/6/4: Version 0.2.0
- 使用更简单的
with ... as
结构 - 添加
setup.py
- 使用更简单的