使用 canvasvg.saveall() 打印海龟图形 canvas
printing turtle-graphics canvas with canvasvg.saveall()
我尝试了在此站点上找到的以下内容:
from turtle import *
import canvasvg
def saveImg():
name = input("What would you like to name it? ")
nameSav = name + ".svg"
ts = getscreen().getcanvas()
canvasvg.saveall(nameSav, ts)
penup()
goto(-60,-225)
pendown()
left(90)
hideturtle()
speed(0)
forward(20)
saveImg()
这是我收到的错误信息:
File "test.py", line 18, in <module>
saveImg()
File "test.py", line 8, in saveImg
saveall(nameSav, ts)
NameError: name 'saveall' is not defined
我知道 canvasvg
包含 saveall()
的定义,所以我不明白为什么它找不到这个函数。
在我刚开始编码时,请帮助并尽量让你的答案简单明了 ;)
如果 canvasvg
包含 saveall
,那么您必须执行 canvasvg.saveall()
。如果 saveall
在 turtle
内,那么你会拥有它,因为你在 from turtle import *
.
您的另一个选择是将 import canvasvg
更改为 from canvasvg import *
但 I don't recommend it.
更新:
我尝试 运行 你的脚本,我注意到,实际上,canvasvg
包含两个不同的子模块:canvasvg.canvasvg
和 canvasvg.setup
。我不知道为什么。但是,您可以只替换:
import canvasvg
有:
from canvasvg import canvasvg
然后你可以调用canvasvg.saveall()
.
不过,我发现there is a bug在上一个Python3版本的canvasvg中。因此,您应该等待 canvasvg 开发人员修复它,或者您可以使用 Python 2 版本的 canvasvg。
如果要切换到Python 2,只需将input
更改为raw_input
。我测试过,它似乎完美无缺。
我尝试了在此站点上找到的以下内容:
from turtle import *
import canvasvg
def saveImg():
name = input("What would you like to name it? ")
nameSav = name + ".svg"
ts = getscreen().getcanvas()
canvasvg.saveall(nameSav, ts)
penup()
goto(-60,-225)
pendown()
left(90)
hideturtle()
speed(0)
forward(20)
saveImg()
这是我收到的错误信息:
File "test.py", line 18, in <module>
saveImg()
File "test.py", line 8, in saveImg
saveall(nameSav, ts)
NameError: name 'saveall' is not defined
我知道 canvasvg
包含 saveall()
的定义,所以我不明白为什么它找不到这个函数。
在我刚开始编码时,请帮助并尽量让你的答案简单明了 ;)
如果 canvasvg
包含 saveall
,那么您必须执行 canvasvg.saveall()
。如果 saveall
在 turtle
内,那么你会拥有它,因为你在 from turtle import *
.
您的另一个选择是将 import canvasvg
更改为 from canvasvg import *
但 I don't recommend it.
更新:
我尝试 运行 你的脚本,我注意到,实际上,canvasvg
包含两个不同的子模块:canvasvg.canvasvg
和 canvasvg.setup
。我不知道为什么。但是,您可以只替换:
import canvasvg
有:
from canvasvg import canvasvg
然后你可以调用canvasvg.saveall()
.
不过,我发现there is a bug在上一个Python3版本的canvasvg中。因此,您应该等待 canvasvg 开发人员修复它,或者您可以使用 Python 2 版本的 canvasvg。
如果要切换到Python 2,只需将input
更改为raw_input
。我测试过,它似乎完美无缺。