Differenze tra le versioni di "Disegnare in una DrawingArea un cerchio"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per disegnare un cerchio all'interno di una ''DrawingArea'', è possibile utilizzare la Classe "''Paint''". ===Uso del Metodo ".Arc()"=== La Classe ''Paint'' ci consente di d...")
 
Riga 2: Riga 2:
  
 
===Uso del Metodo ".Arc()"===
 
===Uso del Metodo ".Arc()"===
La Classe ''Paint'' ci consente di disegnare un cerchio mediante il Metodo ".Arc()".
+
La Classe ''Paint'' ci consente di disegnare un cerchio mediante il Metodo ".Arc()":
<BR>Vediamo un esempio:
+
Private DrawingArea1 As DrawingArea
 +
 +
 +
'''Public''' Sub Form_Open()
 +
 +
  Dim DrawingArea1 As DrawingArea
 +
 +
  With Me
 +
    .Center
 +
    .W = 600
 +
    .H = 500
 +
    .Arrangement = Arrange.Fill
 +
  End With
 +
 +
  With DrawingArea1 = New DrawingArea(Me) As "DrawingArea1"
 +
    .X = 0
 +
    .Y = 0
 +
  End With
 +
 
 +
'''End'''
 +
 
  '''Public''' Sub DrawingArea1_Draw()
 
  '''Public''' Sub DrawingArea1_Draw()
 
    
 
    
Riga 20: Riga 40:
 
===Uso del Metodo ".Ellipse()"===
 
===Uso del Metodo ".Ellipse()"===
 
La Classe ''Paint'' ci consente di disegnare un cerchio anche mediante il Metodo ".Ellipse()":
 
La Classe ''Paint'' ci consente di disegnare un cerchio anche mediante il Metodo ".Ellipse()":
 +
Private DrawingArea1 As DrawingArea
 +
 +
 +
'''Public''' Sub Form_Open()
 +
 +
  Dim DrawingArea1 As DrawingArea
 +
 +
  With Me
 +
    .Center
 +
    .W = 600
 +
    .H = 500
 +
    .Arrangement = Arrange.Fill
 +
  End With
 +
 +
  With DrawingArea1 = New DrawingArea(Me) As "DrawingArea1"
 +
    .X = 0
 +
    .Y = 0
 +
  End With
 +
 
 +
'''End'''
 +
 
  '''Public''' Sub DrawingArea1_Draw()
 
  '''Public''' Sub DrawingArea1_Draw()
 
    
 
    
Riga 36: Riga 77:
 
===Usare una formula trigonometrica===
 
===Usare una formula trigonometrica===
 
E' possibile anche disegnare un cerchio punto per punto mediante una formula trigonometrica ed usando il Metodo ".FillRect()" della Classe "Paint" per ottenere un punto:
 
E' possibile anche disegnare un cerchio punto per punto mediante una formula trigonometrica ed usando il Metodo ".FillRect()" della Classe "Paint" per ottenere un punto:
 +
Private DrawingArea1 As DrawingArea
 +
 +
 +
'''Public''' Sub Form_Open()
 +
 +
  Dim DrawingArea1 As DrawingArea
 +
 +
  With Me
 +
    .Center
 +
    .W = 600
 +
    .H = 500
 +
    .Arrangement = Arrange.Fill
 +
  End With
 +
 +
  With DrawingArea1 = New DrawingArea(Me) As "DrawingArea1"
 +
    .X = 0
 +
    .Y = 0
 +
  End With
 +
 
 +
'''End'''
 +
 
  '''Public''' Sub DrawingArea1_Draw()
 
  '''Public''' Sub DrawingArea1_Draw()
 
    
 
    

Versione delle 06:54, 17 nov 2021

Per disegnare un cerchio all'interno di una DrawingArea, è possibile utilizzare la Classe "Paint".

Uso del Metodo ".Arc()"

La Classe Paint ci consente di disegnare un cerchio mediante il Metodo ".Arc()":

Private DrawingArea1 As DrawingArea


Public Sub Form_Open()

 Dim DrawingArea1 As DrawingArea

 With Me
   .Center
   .W = 600
   .H = 500
   .Arrangement = Arrange.Fill
 End With

 With DrawingArea1 = New DrawingArea(Me) As "DrawingArea1"
   .X = 0
   .Y = 0
 End With
 
End

Public Sub DrawingArea1_Draw()
 
 With Paint
   .Brush = Paint.Color(Color.Red)
   .Arc(DrawingArea1.W / 2, DrawingArea1.H / 2, 100, Rad(0), Rad(360), False)
' Se si desidera disegnare un cerchio vuoto, si userà il Metodo ".Stroke":
   .Stroke
' Se si desidera disegnare un cerchio ripieno di colore, si userà il Metodo ".Fill":
   .Fill
   .End
 End With
 
End

Uso del Metodo ".Ellipse()"

La Classe Paint ci consente di disegnare un cerchio anche mediante il Metodo ".Ellipse()":

Private DrawingArea1 As DrawingArea


Public Sub Form_Open()

 Dim DrawingArea1 As DrawingArea

 With Me
   .Center
   .W = 600
   .H = 500
   .Arrangement = Arrange.Fill
 End With

 With DrawingArea1 = New DrawingArea(Me) As "DrawingArea1"
   .X = 0
   .Y = 0
 End With
 
End

Public Sub DrawingArea1_Draw()
 
 With Paint
   .Brush = Paint.Color(Color.Red)
   .Ellipse(DrawingArea1.W / 2, DrawingArea1.H / 2,  100, 100, Rad(0), Rad(360), False)
' Se si desidera disegnare un cerchio vuoto, si userà il Metodo ".Stroke":
   .Stroke
' Se si desidera disegnare un cerchio ripieno di colore, si userà il Metodo ".Fill":
   .Fill
   .End
 End With
 
End

Usare una formula trigonometrica

E' possibile anche disegnare un cerchio punto per punto mediante una formula trigonometrica ed usando il Metodo ".FillRect()" della Classe "Paint" per ottenere un punto:

Private DrawingArea1 As DrawingArea


Public Sub Form_Open()

 Dim DrawingArea1 As DrawingArea

 With Me
   .Center
   .W = 600
   .H = 500
   .Arrangement = Arrange.Fill
 End With

 With DrawingArea1 = New DrawingArea(Me) As "DrawingArea1"
   .X = 0
   .Y = 0
 End With
 
End

Public Sub DrawingArea1_Draw()
 
 Dim x, y, r, t As Short
    
 x = DrawingArea1.W / 2
 y = DrawingArea1.H / 2
' Lunghezza del raggio della circonferenza:
 r = 100
 
' Il ciclo disegna l'arco della circonferenza:
 For t = 0 To 360
   Paint.FillRect(x + (r * Cos(Rad(t))), y + (r * Sin(Rad(t))), 1, 1, Color.Red)
 Next
  
 Paint.End
 
End