3

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

非常感谢

4

3 回答 3

2

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

于 2012-05-15T15:18:22.947 回答
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()
于 2012-05-15T15:26:46.603 回答
1

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

于 2012-05-15T14:59:54.753 回答