Precedente Indice Successiva

Linee e forme

Immagine slide
  • Elencherò brevemente i metodi per disegnare sul pannello.
  • Per disegnare un singolo pixel si usa il metodo draw_point((<x>,<y>), <colore>) di canvas:
    pannello.draw_point((120,85), "White")
  • Per disegnare un segmento si usa il metodo draw_line((<x1>,<y1>), (<x2>,<y2>), <spessore>, <colore>) di canvas:
    pannello.draw_line((70,50), (220,30), 3, "RED")
  • Si può disegnare una serie di linee connesse con il metodo draw_polyline([(<x1>,<y1>),(<x2>,<y2>)[,(<xn>,<yn>)...]], <spessore>, <colore>) di canvas:
    pannello.draw_polyline([(130,120),(150,80),(170,120)],2, "Black")
  • Si può disegnare un poligono tramite il metodo draw_polygon([(<x1>,<y1>),(<x2>,<y2>)[,(<xn>,<yn>)...]], <spessore_contorno>, <colore_contorno>, [<colore_riempimento>]) di canvas:
    pannello.draw_polygon([(110,130), (150,150), (190,130)], 2, "Black", "Blue")
  • Per finire possiamo disegnare cerchi con il metodo draw_circle((<x_centro>,<y_centro>), <raggio>, <spessore>, <colore_circonferenza>, <colore_riempimento>) di canvas:
    pannello.draw_circle((180,85), 20, 2, "Black", "Blue")
  • Non ci sono metodi per disegnare ellissi o archi di cerchio.
  • Un rettangolo è un poligono
  • Un esempio completo è:
    import simplegui
    def disegno (pannello):
    pannello.draw_line((70,50), (220,30), 3, "RED")
    pannello.draw_polyline([(130,120),(150,80),(170,120)],2, "Black")
    pannello.draw_polygon([(110,130), (150,150), (190,130)], 2, "Black", "Blue")
    pannello.draw_circle((120,85), 20, 2, "Black", "Blue")
    pannello.draw_point((120,85), "White")
    pannello.draw_circle((180,85), 20, 2, "Black", "Blue")
    pannello.draw_point((180,85), "White")
    pannello.draw_circle((150,100),80, 2, "Black")
    finestra = simplegui.create_frame("Prova", 300, 200, 5)
    finestra.set_canvas_background('#ffffcc')
    finestra.set_draw_handler(disegno)
    finestra.start()
© Ing. Stefano Salvi - released under FDL licence

Valid XHTML 1.0! Valid CSS!