首页 > 解决方案 > 错误 Python:未定义名称“cairosvg”

问题描述

我已经有问题了。将 cairosvg 显示为未定义。我希望将 Turtle 对象保存为 png。Si hay otra forma de guardar como png lo dibujado por Turtle sugieranme 请。我已经安装了 canvasvg 和 cairosvg 库,但即便如此我仍然收到错误。我将我的代码作为示例。谢谢

   from turtle import *
import os
import shutil
import tempfile
import canvasvg

from canvasvg import *
screen=Screen()
setup (640,520,0,0)
title("T")
tracer(0,0)
encendido='#51D1F6'
apagado='#922B3E'

pant=Turtle(visible=False)
pant.hideturtle()
pant.pensize(4)
pant.penup()
pant.goto(110,0)
pant.pendown()

pant.pendown()
pant.fillcolor(encendido)
pant.begin_fill()
pant.goto(-400,-180)
pant.goto(-400,-190)
pant.goto(-110,-190)
pant.end_fill()


Y=7
gb=Y*4

agua=Turtle(visible=False)
agua.pensize(4)
agua.penup()


agua.goto(110,-200)
agua.pendown()

agua.fillcolor(encendido)
agua.begin_fill()

agua.goto(110,-200+gb)
agua.penup()
agua.goto(-110,-200+gb)

agua.pendown()
agua.goto(-110,-200)
agua.goto(110,-200)
agua.end_fill()
update()

ts=getscreen().getcanvas()

tmpdir=tempfile.mkdtemp()
tmpfile=os.path.join(tmpdir,'tmp.svg')
canvasvg.saveall(tmpfile,ts)
name="image4.png"
with open(tmpfile) as svg_input, open(name, 'wb')as png_output:
    cairosvg.svg2png(bytestring=svg_input.read(),write_to=png_output)
shutil.rmtree(tmpdir)

标签: pythoncanvasvg

解决方案


推荐阅读