2017-10-06 138 views
0

我必須在PyCharm中繪製沙漏。我嘗試了以下,但由於某種原因,setFill命令不起作用。它只適用於canvas.drawRect(x, y, width, height).我猜是因爲程序不能識別這些行正在製作一個三角形,因此無法填充它。使用圖形庫繪製填充多邊形

有沒有人有任何想法我可以解決它?

canvas.setFill("blue") 
canvas.drawLine(100, 50, 200, 50) 
canvas.drawLine(100, 50, 150, 200) 
canvas.drawLine(200, 50, 150, 200) 

回答

0

您正在跟蹤的行不定義可填寫的對象。您應該定義支持setFill()方法的對象:

from graphics import * 

def main(): 
    win = GraphWin("My Canvas", 300, 300) 

    poly_points = [Point(100, 50), Point(200, 50), Point(150, 200)] 

    p = Polygon(poly_points) 
    p.setFill('red') 
    p.draw(win) 

    c = Circle(Point(50,50), 10) 
    c.setFill('blue') 
    c.draw(win) 

    win.getMouse() # Pause to view result 
    win.close() # Close window when done 

main() 
+0

非常感謝您的幫助!你的回答讓我意識到我唯一需要做的就是閱讀圖形庫,找到我需要的代碼! –