如何打印 turtle() window?
How to print a turtle() window?
所以我有这个简单的海龟螺旋制造器,我想知道是否有办法打印出由程序创建的我的设计副本。
代码:
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)
例如,如果变量是:
x=121
y=1
scale=300
程序是这样的:
是否可以打印这些 windows,而无需用户手动操作?
您可以将 turtle Tk canvas 的屏幕截图另存为 postscript 文件,如下所示:
canvas = window.getcanvas()
canvas.postscript(file='/tmp/out.ps')
然后您可以使用 subprocess
调用打印命令。例如,在 unix 上,
import subprocess
subprocess.call(['lpr', '/tmp/out.ps'])
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()
所以我有这个简单的海龟螺旋制造器,我想知道是否有办法打印出由程序创建的我的设计副本。
代码:
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)
例如,如果变量是:
x=121
y=1
scale=300
程序是这样的:
是否可以打印这些 windows,而无需用户手动操作?
您可以将 turtle Tk canvas 的屏幕截图另存为 postscript 文件,如下所示:
canvas = window.getcanvas()
canvas.postscript(file='/tmp/out.ps')
然后您可以使用 subprocess
调用打印命令。例如,在 unix 上,
import subprocess
subprocess.call(['lpr', '/tmp/out.ps'])
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()