gpt4 book ai didi

python - 使用 canvasvg.saveall() 打印 turtle 图形 Canvas

转载 作者:太空宇宙 更新时间:2023-11-03 17:16:55 24 4
gpt4 key购买 nike

我尝试了在该网站上找到的以下内容:

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 内部,那么您就会拥有它,因为您执行了 fromturtle import *

您的另一个选择是将 import canvasvg 更改为 from canvasvg import *I don't recommend it .

<小时/>

更新:

我尝试运行你的脚本,我注意到,实际上,canvasvg包含两个不同的子模块:canvasvg.canvasvgcanvasvg.setup 。我不知道为什么。但是,您只需替换:

import canvasvg

与:

from canvasvg import canvasvg

然后你可以调用canvasvg.saveall()

但是,我发现there is a bug在canvasvg的最新Python 3版本中。因此,您应该等待 canvasvg 开发人员修复它,或者您可以使用 Canvasvg 的 Python 2 版本。

如果您想切换到 Python 2,您只需将 input 更改为 raw_input。我测试过,它似乎工作完美。

关于python - 使用 canvasvg.saveall() 打印 turtle 图形 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33584810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com