在 python 中保存海龟绘图

Saving turtle drawing in python

我想将海龟绘图保存到 .eps 文件中。现在我使用函数 screen.getcanvas().postscript(file="test.eps")

问题是它没有保存完整的绘图。画之前,不知道要画多大。当我画画时,我有最大的 x 和 y 值。像上面的函数只是保存绘图,什么是canvas。如果图真的很大,就不完整了canvas但是我想保存完整的图。我该怎么做?

关键是 setup() 可见绘图,并使用 screensize() 分配图像总后备存储的大小。然后使用 postscript() 方法的 xywidthheight 参数来捕获您想要的内容。

下面会画一个可见的圆圈和一个大到看不见的圆圈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()),但您只需要通过跟踪用户的操作来尽可能多地转储它。