如何在python中绘制随机形状?

时间:2012-05-15 14:13:29

标签: python shape

我想使用python在图像中以随机颜色绘制随机形状。是否有任何模块存在于python中以绘制随机形状,如不同大小和形状的多边形,并混合在一起形成一个新的形状等

非常感谢

3 个答案:

答案 0 :(得分:2)

要创建/修改图像,Python Imaging Library会起作用。

答案 1 :(得分: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()

答案 2 :(得分:1)

Cairo可能对跨平台GUI有用,如果您只是想在浏览器中使用SVG