Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中绘制随机形状?_Python_Shape - Fatal编程技术网

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

如何在python中绘制随机形状?,python,shape,Python,Shape,我想使用python在图像中以随机颜色绘制随机形状。python中是否有任何模块可以绘制任意形状,如不同大小和形状的多边形,并混合在一起形成新形状等 非常感谢可能对跨平台GUI有用,或者如果您只想在浏览器中使用它。创建/修改图像也可以。由于不确定您要完成什么,下面的代码是一个简单的示例,说明如何生成随机形状并在窗口中显示它们。它创建一个tkinter根对象,设置一个Canvas进行显示,并在程序运行的每一秒随机创建和显示多边形 from tkinter import * from random

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


非常感谢

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

创建/修改图像也可以。

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

TkInter就是这样做的:定义一个形状的随机属性,这些属性可以用数字来表示(角的数量、x位置、y位置、宽度、高度等等),然后获取所有这些随机数,然后调用一个使用这些参数绘制形状的方法。你可以调整在这个问题中找到的脚本:+1:听起来提问者可能从一个图像开始,比如jpg等,在这种情况下,PIL是正确的选择。