在 python 中保存海龟绘图
Saving turtle drawing in python
我想将海龟绘图保存到 .eps 文件中。现在我使用函数 screen.getcanvas().postscript(file="test.eps")
问题是它没有保存完整的绘图。画之前,不知道要画多大。当我画画时,我有最大的 x 和 y 值。像上面的函数只是保存绘图,什么是canvas。如果图真的很大,就不完整了canvas但是我想保存完整的图。我该怎么做?
关键是 setup()
可见绘图,并使用 screensize()
分配图像总后备存储的大小。然后使用 postscript()
方法的 x
、y
、width
和 height
参数来捕获您想要的内容。
下面会画一个可见的圆圈和一个大到看不见的圆圈window。然后它将转储带有两个圆圈的整个图像:
from turtle import Screen, Turtle
screen = Screen()
screen.setup(600, 480) # what's visible
screen.screensize(1200, 960) # total backing store
turtle = Turtle()
turtle.hideturtle()
turtle.speed('fastest')
turtle.penup()
turtle.sety(-100)
turtle.pendown()
turtle.circle(100) # visible
turtle.penup()
turtle.sety(-400)
turtle.pendown()
turtle.circle(400) # offscreen
canvas = screen.getcanvas()
canvas.postscript(file="test.eps", x=-600, y=-480, width=1200, height=960)
# wait for program to quit, then examine file 'test.eps'
虽然您需要预先分配大型后备存储 (screensize()
),但您只需要通过跟踪用户的操作来尽可能多地转储它。
我想将海龟绘图保存到 .eps 文件中。现在我使用函数 screen.getcanvas().postscript(file="test.eps")
问题是它没有保存完整的绘图。画之前,不知道要画多大。当我画画时,我有最大的 x 和 y 值。像上面的函数只是保存绘图,什么是canvas。如果图真的很大,就不完整了canvas但是我想保存完整的图。我该怎么做?
关键是 setup()
可见绘图,并使用 screensize()
分配图像总后备存储的大小。然后使用 postscript()
方法的 x
、y
、width
和 height
参数来捕获您想要的内容。
下面会画一个可见的圆圈和一个大到看不见的圆圈window。然后它将转储带有两个圆圈的整个图像:
from turtle import Screen, Turtle
screen = Screen()
screen.setup(600, 480) # what's visible
screen.screensize(1200, 960) # total backing store
turtle = Turtle()
turtle.hideturtle()
turtle.speed('fastest')
turtle.penup()
turtle.sety(-100)
turtle.pendown()
turtle.circle(100) # visible
turtle.penup()
turtle.sety(-400)
turtle.pendown()
turtle.circle(400) # offscreen
canvas = screen.getcanvas()
canvas.postscript(file="test.eps", x=-600, y=-480, width=1200, height=960)
# wait for program to quit, then examine file 'test.eps'
虽然您需要预先分配大型后备存储 (screensize()
),但您只需要通过跟踪用户的操作来尽可能多地转储它。