Disegnare in una DrawingArea linee mediante codice: differenze tra le versioni

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca
(Creata pagina con "La definizione di una linea è costituita da due punti di riferimento: quello iniziale (di origine) e quello finale. Per disegnare in una ''DrawingArea'' linee mediante il co...")
 
Nessun oggetto della modifica
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 5: Riga 5:
Il Metodo ".LineTo()" possiede due parametri che rappresentano le coordinate del punto finale della linea. <BR>Il punto d'origine, invece, è predefinito ed è pari a x=0, y=0, se il Metodo ".LineTo()" è all'inizio della funzione Paint (ossia se <SPAN Style="text-decoration:underline">non</span> è preceduto da altro Metodo ".LineTo()" o dal Metodo ".MoveTo()".
Il Metodo ".LineTo()" possiede due parametri che rappresentano le coordinate del punto finale della linea. <BR>Il punto d'origine, invece, è predefinito ed è pari a x=0, y=0, se il Metodo ".LineTo()" è all'inizio della funzione Paint (ossia se <SPAN Style="text-decoration:underline">non</span> è preceduto da altro Metodo ".LineTo()" o dal Metodo ".MoveTo()".
<BR>Così questo codice:
<BR>Così questo codice:
  '''Public''' Sub DrawingArea1_Draw()
  Public Sub DrawingArea1_Draw()
    
    
   With Paint
   With Paint
     .<FONT Color=#B22222>LineTo</font>(200, 100)
     .<FONT Color=#B22222>LineTo</font>(200, 100)
     .Stroke
     .Stroke
    .End
   End With
   End With
    
    
  '''End'''
  End
disegnerà nella ''DrawingArea'' una linea che ha come punto di origine le coordinate x=0, y=0, e come punto finale le coordinate impostate nel Metodo ".LineTo()".
disegnerà nella ''DrawingArea'' una linea che ha come punto di origine le coordinate x=0, y=0, e come punto finale le coordinate impostate nel Metodo ".LineTo()".


Riga 20: Riga 19:
Se si intende far impostare il punto di origine di una linea in coordinate diverse da quelle predefinite 0,0, è necessario premettere il Metodo ".MoveTo()" al Metodo ".LineTo()".
Se si intende far impostare il punto di origine di una linea in coordinate diverse da quelle predefinite 0,0, è necessario premettere il Metodo ".MoveTo()" al Metodo ".LineTo()".
<BR>Così questo codice:
<BR>Così questo codice:
  '''Public''' Sub DrawingArea1_Draw()
  Public Sub DrawingArea1_Draw()
    
    
   With Paint
   With Paint
Riga 26: Riga 25:
     .LineTo(200, 100)
     .LineTo(200, 100)
     .Stroke
     .Stroke
    .End
   End With
   End With
    
    
  '''End'''
  End
disegnerà nella ''DrawingArea'' una linea che ha come punto di origine le coordinate x=20, y=40, e come punto finale le coordinate impostate nel successivo Metodo "''.LineTo()''".
disegnerà nella ''DrawingArea'' una linea che ha come punto di origine le coordinate x=20, y=40, e come punto finale le coordinate impostate nel successivo Metodo "''.LineTo()''".


Riga 37: Riga 35:
<BR>Va sottolineato che, quando si utilizzano due o più Metodi ".LineTo()", il punto di origine di ciascuna linea, che sarà disegnata da ogni Metodo ".LineTo()" a cominciare dal secondo in poi, ha le sue coordinate d'origine nel punto finale della linea precedente.
<BR>Va sottolineato che, quando si utilizzano due o più Metodi ".LineTo()", il punto di origine di ciascuna linea, che sarà disegnata da ogni Metodo ".LineTo()" a cominciare dal secondo in poi, ha le sue coordinate d'origine nel punto finale della linea precedente.
<BR>Così questo codice:
<BR>Così questo codice:
  '''Public''' Sub DrawingArea1_Draw()
  Public Sub DrawingArea1_Draw()
    
    
   With Paint
   With Paint
Riga 45: Riga 43:
     .LineTo(100, 200)
     .LineTo(100, 200)
     .Stroke
     .Stroke
    .End
   End With
   End With
End
prevede il disegno di tre linee.
prevede il disegno di tre linee.
In particolare:
In particolare:
Riga 69: Riga 68:
     .LineTo(100, 200)
     .LineTo(100, 200)
     .Stroke
     .Stroke
    .End
   End With
   End With
   
   
  End
  End

Versione attuale delle 04:37, 9 ago 2025

La definizione di una linea è costituita da due punti di riferimento: quello iniziale (di origine) e quello finale.

Per disegnare in una DrawingArea linee mediante il codice, si utilizza il Metodo ".LineTo()" della Classe Paint. Per ottenere il disegno è necessario usare poi anche il Metodo ".Stroke".

Il Metodo ".LineTo()" possiede due parametri che rappresentano le coordinate del punto finale della linea.
Il punto d'origine, invece, è predefinito ed è pari a x=0, y=0, se il Metodo ".LineTo()" è all'inizio della funzione Paint (ossia se non è preceduto da altro Metodo ".LineTo()" o dal Metodo ".MoveTo()".
Così questo codice:

Public Sub DrawingArea1_Draw()
 
 With Paint
   .LineTo(200, 100)
   .Stroke
 End With
 
End

disegnerà nella DrawingArea una linea che ha come punto di origine le coordinate x=0, y=0, e come punto finale le coordinate impostate nel Metodo ".LineTo()".


Impostare il punto iniziale di una linea da coordinate diverse da 0,0

Se si intende far impostare il punto di origine di una linea in coordinate diverse da quelle predefinite 0,0, è necessario premettere il Metodo ".MoveTo()" al Metodo ".LineTo()".
Così questo codice:

Public Sub DrawingArea1_Draw()
 
 With Paint
   .MoveTo(20, 40)
   .LineTo(200, 100)
   .Stroke
 End With
 
End

disegnerà nella DrawingArea una linea che ha come punto di origine le coordinate x=20, y=40, e come punto finale le coordinate impostate nel successivo Metodo ".LineTo()".


Disegnare più linee a formare un'unica linea spezzata

Per disegnare più linee a formare un'unica linea spezzata, bisognerà combinare adeguatamente i già visti Metodi ".MoveTo()" e ".LineTo()".
Va sottolineato che, quando si utilizzano due o più Metodi ".LineTo()", il punto di origine di ciascuna linea, che sarà disegnata da ogni Metodo ".LineTo()" a cominciare dal secondo in poi, ha le sue coordinate d'origine nel punto finale della linea precedente.
Così questo codice:

Public Sub DrawingArea1_Draw()
 
 With Paint
   .MoveTo(20, 40)
   .LineTo(200, 100)
   .LineTo(10, 150)
   .LineTo(100, 200)
   .Stroke
 End With

End

prevede il disegno di tre linee. In particolare:
- il punto d'origine della prima linea è impostato alle coordinate fissate nel Metodo ".MoveTo()";
- il punto finale della prima linea è impostato alle coordinate fissate nel primo Metodo ".LineTo()";
- il punto d'origine della seconda linea è impostato alle medesime coordinate del punto finale della prima linea (quindi comincerà esattamente dove è terminata la prima linea);
- il punto finale della seconda linea è impostato alle coordinate fissate nel secondo Metodo ".LineTo()";
- il punto d'origine della terza linea è impostato alle medesime coordinate del punto finale della seconda linea (quindi comincerà esattamente dove è terminata la seconda linea);
- il punto finale della terza linea è impostato alle coordinate fissate nel terzo Metodo ".LineTo()";


Interporre il Metodo ".MoveTo()" fra due Metodi ".LineTo()"

E' ovvio che, ponendo fra i due Metodi ".LineTo()", un Metodo ".MoveTo()", si possono ottenere due linee disgiunte e separate.
Esempio pratico:

Public Sub DrawingArea1_Draw()
 
 With Paint
   .MoveTo(20, 40)
   .LineTo(200, 100)
   .MoveTo(150, 40)
   .LineTo(10, 150)
   .LineTo(100, 200)
   .Stroke
 End With

End