Skip to content

A recorder of Python turtle animations written in Python 3.

License

Notifications You must be signed in to change notification settings

MiracleXYZ/turtle_recorder

Repository files navigation

turtle_recorder: turtle动画生成器

turtle是python中的一个简单的绘图工具,可以用来画很多有趣的东西(具体用法见官方文档)。

但是,现在turtle绘图的动画展示都是基于窗口的,至于录制和转换为视频的过程,仍然是一个空白。

turtle_recorder则是对这一空白的弥补。在python和一些工具的帮助下,只需几行代码,就可以把绘图的过程和结果录制进来,转换为mp4视频或者gif动图。

适用Python版本

  • Python 3.6
  • Python 2.7 (不太确定,如果出现问题请提issue)

安装

  1. 安装依赖的python库:numpy, matplotlib, PIL

    pip install -r requirements.txt
    
  2. 安装turtle_recordergit clone或者下载为zip,在根目录下

    python setup.py install
    
  3. 安装Ghostscript并添加到PATH环境变量中(Windows操作,Linux及Mac OS应该有类似操作,欢迎补充)

  4. 转换为视频:安装ffmpeg并添加到PATH环境变量

  5. 转换为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文件夹)查看结果。

效果

Pegga Pig

可能的问题

视频或动图的生成时间可能较长,如果没有报错,请耐心等待。

如果使用过程有问题或报错,请先检查是否安装好对应的工具,然后在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

About

A recorder of Python turtle animations written in Python 3.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages