Python 2 - Grafica - 11

# Linee e forme

- 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