2012-05-15 72 views
2

我想用随机颜色在图像中使用python绘制随机形状。有它存在于蟒蛇绘制任意形状像不同尺寸和形状的多边形混合在一起,形成一个新的形状等如何在python中绘制任意形状?

非常感谢

+2

以及Tkinter的做类似的东西:http://www.daniweb.com/software-development/python/threads/106935/drawing-a-moving-circle-with-python-tkinter-good-gui -tutorial –

+4

定义可由数字(角的数量,x位置,y位置,宽度,高度等)表示的形状的随机属性,然后获取所有这些随机数,然后调用绘制形状的方法这些论点。 – eumiro

+0

你可以调整在这个问题中发现的脚本:http://forums.devshed.com/python-programming-11/pygame-and-drawing-random-shapes-643278.html –

回答

2

由于不确定你想要完成什么,下面的代码是一个简单的例子,说明如何生成随机形状并将它们显示在窗口中。它创建一个tkinter根对象,为显示设置一个Canvas,并随机创建并显示程序运行的每秒钟的多边形。

from tkinter import * 
from random import * 

class Application(Canvas): 

    X_OFFSET = 40 
    Y_OFFSET = 40 
    FILL = 'blue' 
    LINE = 'black' 

    @classmethod 
    def main(cls): 
     root = Tk() 
     surface = cls(root) 
     surface.grid() 
     surface.after_idle(surface.draw_shape) 
     root.mainloop() 

    def draw_shape(self): 
     x = randrange(int(self['width']) - self.X_OFFSET) 
     y = randrange(int(self['height']) - self.Y_OFFSET) 
     points = [(x + randrange(self.X_OFFSET), y + randrange(self.Y_OFFSET)) 
        for point in range(randint(3, 10))] 
     self.create_polygon(points, fill=self.FILL, outline=self.LINE) 
     self.after(1000, self.draw_shape) 

if __name__ == '__main__': 
    Application.main() 
1

Cairo可能是跨平台GUI有用,或者SVG任何模块如果你只是想在浏览器中。

2

对于创建/修改图像,Python Imaging Library将工作。

+0

+1:听起来像提问者是可能从一个图像开始,像一个JPG等,在这种情况下,PIL是正确的选择。 – tom10