有没有办法把乌龟的画保存成动画GIF格式?

2024-06-16 14:52:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我喜欢turtle模块在Python中所做的,我想输出它绘制形状的整个动画。有办法吗?GIF/MP4/任何显示动画的内容。注意,我知道一个外部屏幕录像机可以完成这项工作,但是我正在寻找一种方法让海龟模块自己来完成这项工作。在


Tags: 模块方法内容屏幕绘制动画gifmp4
1条回答
网友
1楼 · 发布于 2024-06-16 14:52:26

在OSX上使用Preview从Python turtle制作动画GIF

1) 从一个工作程序开始

很明显,不要在尝试生成动画GIF时调试代码。它应该是一个正确的turtle程序,没有以mainloop()done()、或{}结尾的无限循环。在

我要用来解释这个问题的程序是我用turtle为Programming Puzzles & Golf Code that draws an Icelandic flag编写的程序。它是有意简约的,因为它是PP&GC:

from turtle import *
import tkinter as _
_.ROUND = _.BUTT
S = 8
h = 18 * S
color("navy")
width(h)
fd(25 * S)
color("white")
width(4 * S)
home()
pu()
goto(9 * S, -9 * S)
lt(90)
pd()
fd(h)
color("#d72828")
width(S + S)
bk(h)
pu()
home()
pd()
fd(25 * S)
ht()
done()

2) 让你的程序定时保存快照

draw()save()stop()时间事件重新打包,大致如下:

^{pr2}$

我使用每秒10帧(FPS),因为这将匹配预览在后面的步骤中使用的内容。在

3) 运行程序;完成后退出

创建一个新的空目录并从那里运行它。如果一切正常,它应该将一系列*.eps文件转储到目录中。在

4) 将所有这些*.eps文件加载到预览中

假设Preview是我的默认预览器,在终端.app我只想:

open iceland*.eps

5) 选择预览侧栏中的所有PDF(WARE EPS)文件并文件/导出。。。(非导出为PDF)为GIF

选项按钮下设置导出类型,将它们保存到我们的临时目录中。选择格式时,需要按住选项键才能看到GIF选项。选择一个好的屏幕分辨率。现在我们的临时目录中应该有*.gif文件。 退出预览。在

6) 将所有*.gif文件加载到预览中

open iceland*.gif

7) 将除第一个GIF文件外的所有GIF文件合并到第一个GIF文件中

选择预览侧边栏中的所有GIF文件。取消选择(命令单击)第一个GIF文件,例如iceland001.gif。将选定的GIF文件拖到未选定的GIF文件上。命名并将修改它的名称。使用文件/导出。。。将修改后的第一个GIF文件导出到新的GIF文件,例如iceland.gif

8) 这是一个动画GIF!在

通过将其加载到Safari中来说服自己,例如:

open -a Safari iceland.gif

9) 转换为重复动画GIF

对于重复的动画GIF,需要一些外部工具,如ImageMagickGifsicle来设置循环值:

convert -loop 0 iceland.gif iceland-repeating.gif

再次让自己相信它是有效的:

open -a Safari iceland-repeating.gif

10) 动画GIF结果。祝你好运!在

enter image description here

相关问题 更多 >