如何打印turtle()窗口?

2024-10-02 04:36:18 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个简单的海龟螺旋制造机,我想知道是否有一种方法可以打印出我的设计副本,这些都是由程序创建的。在

代码:

import turtle
x= float(input("Angle: "))
y= float(input("Step: "))
scale = int(input("Scale: "))
window = turtle.Screen()
window.bgcolor("white")
turtle = turtle.Turtle()
turtle.color("black")
turtle.speed(100)
turtle.pendown()
size=0
for i in range(scale):
   size+=y
   turtle.left(x)
   turtle.forward(size)

例如,如果变量是:

^{pr2}$

该程序使其: Image

是否可以打印这些窗口,而不需要用户手动打印?在


Tags: 方法代码import程序inputsize副本float
1条回答
网友
1楼 · 发布于 2024-10-02 04:36:18

您可以将turtle Tk画布的屏幕截图保存为postscript文件,如下所示:

canvas = window.getcanvas()
canvas.postscript(file='/tmp/out.ps')

然后可以使用subprocess调用打印命令。例如,在unix上

^{2}$
import turtle
import random
import subprocess

x = float(input("Angle: "))
y = float(input("Step: "))
scale = int(input("Scale: "))
# x, y, scale = 121, 1, 300
window = turtle.Screen()
window.bgcolor("white")
t = turtle.Turtle()
t.color("black")
t.speed(100)
t.pendown()
size = 0
for i in range(scale):
    size += y
    t.left(x)
    t.forward(size)

canvas = window.getcanvas()
filename = '/tmp/out.ps'
canvas.postscript(file=filename)
subprocess.call(['lpr', filename])
turtle.mainloop()

提示:最好不要将模块名称重新指定给其他值,如

turtle = turtle.Turtle()

这使得从原来的turtle模块调用任何其他函数变得很困难。最好给Turtle实例一个新的变量名,比如t

t = turtle.Turtle()

相关问题 更多 >

    热门问题