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

2024-04-24 23:22:52 发布

您现在位置:Python中文网/ 问答频道 /正文

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

非常感谢


Tags: 模块图像颜色绘制多边形形状
3条回答

由于不确定要完成的任务,下面的代码是一个简单的示例,说明如何生成随机形状并将其显示在窗口中。它创建一个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()

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

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

相关问题 更多 >