使用Python将通过turtle绘制的图像转换为PNG格式

7

我正在用Python制作一个抽象艺术模板生成器,它需要输入最小半径、最大半径和圆的数量。它会在随机位置绘制随机圆形,并满足用户的规格要求。我想将海龟绘图转换为PNG格式,以便用户可以根据需要编辑模板,但我不知道该如何操作。以下是我的代码:

import random  
import time  
import turtle  

print("Abstract Art Template Generator")
print()
print("This program will generate randomly placed and sized circles on a blank screen.")
num = int(input("Please specify how many circles you would like to be drawn: "))
radiusMin = int(input("Please specify the minimum radius you would like to have: "))
radiusMax = int(input("Please specify the maximum radius you would like to have: "))
screenholder = input("Press ENTER when you are ready to see your circles drawn: ")

t = turtle.Pen()

win = turtle.Screen()


def mycircle():
    x = random.randint(radiusMin,radiusMax) 
    t.circle(x)

    t.up()
    y = random.randint(0,360)
    t.seth(y)
    if t.xcor() < -300 or t.xcor() > 300:
        t.goto(0, 0)
    elif t.ycor() < -300 or t.ycor() > 300:
        t.goto(0, 0)
    z = random.randint(0,100)
    t.forward(z)
    t.down()


for i in range(0, num):
    mycircle()


turtle.done()

我不是Python之神,但也许这些代码示例可以帮助你:http://code.activestate.com/recipes/580495-random-planet-generator-using-plasma-fractal/?in=lang-python - Delphine
2个回答

5
你可以使用turtle.getcanvas()生成Tkinker画布。然后将其保存为PostScript文件。
...
cv = turtle.getcanvas()
cv.postscript(file="file_name.ps", colormode='color')

turtle.done()

然后您可以将其转换为png格式(我认为您会找到如何操作)。或者使用PIL和Tkinker - 有关此方法的更多信息在这里


0

将后缀名为*.ps的PostScript文件转换为PNG格式可以使用Ghostscript。这个开源程序可以在多个平台上使用。 另一个选择是ImageMagick,也是开源和跨平台的。

只需在互联网上搜索“convert ps to PNG ghostscript”或“convert ps to PNG Imagemagick”即可。

如果您想自动化转换,请查看subprocess模块(Python文档),以从您的Python程序中调用该程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接