2012-05-15 71 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