使用图形库绘制填充多边形

时间:2017-10-06 22:55:59

标签: python python-3.x graphics

我必须在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)

1 个答案:

答案 0 :(得分: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()
相关问题