繁体   English   中英

在Python中将乌龟绘制的图像转换为PNG

[英]Convert images drawn by turtle to PNG in Python

我在Python中制作一个抽象艺术模板生成器,它接受最小半径,最大半径和圆圈数的输入。 它在随机位置绘制随机圆圈,也符合用户的规格。 我想将Turtle图形转换为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()

您可以使用turtle.getcanvas()生成Tkinker画布。 然后将其保存为postscript文件。

...
cv = turtle.getcanvas()
cv.postscript(file="file_name.ps", colormode='color')

turtle.done()

然后你可以将它转换为png(我想你会发现它是如何做到的)。 或者将PIL与Tkinker一起使用 - 这里有关于此方法的更多信息

可以使用ghostscript将postscript文件(* .ps)转换为PNG。 这个开源程序可在多个平台上使用。 另一种选择是ImageMagick,也是开源和多平台。

只需在互联网上搜索“将ps转换为PNG ghostscript”或“将ps转换为PNG Imagemagick”。

如果要自动执行转换,请查看subprocess模块(python文档)以从python程序中调用该程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM