Differenze tra le versioni di "Disegnare in una DrawingArea linee mediante codice"

Da Gambas-it.org - Wikipedia.
(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...")
 
 
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
Riga 13: Riga 13:
 
   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 20:
 
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 29: Riga 29:
 
   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 37:
 
<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 47: Riga 47:
 
     .End
 
     .End
 
   End With
 
   End With
 +
 +
End
 
prevede il disegno di tre linee.
 
prevede il disegno di tre linee.
 
In particolare:
 
In particolare:

Versione attuale delle 10:40, 27 giu 2024

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
 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
 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
 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
 End With

End