Disegnare un cerchio con le Classi "Draw" e "Paint"

Da Gambas-it.org - Wikipedia.

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


Disegnare un cerchio con la Classe "Draw"

La Classe Draw ci consente di disegnare un cerchio mediante il metodo "Circle()".
Esempio:

Public Sub DrawingArea1_Draw()
 
 With Draw
   .FillStyle = Fill.Dense12
   .FillColor = Color.Red
   .Circle(100, 100, DrawingArea1.W / 6, Rad(0), Rad(360))
   .End
 End With

End

oppure anche mediante il metodo "Ellipse()" impostando ovviamente uguali valori al 3° ed al 4° parametro:

Public Sub DrawingArea1_Draw()

 With Draw
   .FillStyle = Fill.Solid
   .FillColor = Color.Red
   .Ellipse(100, 100, DrawingArea1.W / 6, DrawingArea1.W / 6, Rad(0), Rad(360))
   .End
 End With

End


Disegnare un cerchio con la Classe "Paint"

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

Per ottenere un cerchio vuoto, ossia nel quale sia visibile soltanto la circonferenza, si utilizzerà anche il metodo .Stroke :

Public Sub DrawingArea1_Draw()

 With Paint
   .Brush = Paint.Color(Color.Red)
   .Ellipse(100, 10, 100, 100)
   .Stroke
   .End
 End With

End

Per ottenere invece un cerchio pieno, ossia colorato anche al suo interno, si dovrà utilizzare il metodo .Fill:

Public Sub DrawingArea1_Draw()

 With Paint
   .Brush = Paint.Color(Color.Red)
   .Ellipse(100, 10, 100, 100)
   .Fill
   .End
 End With

End


E' possibile disegnare un cerchio anche disegnandolo punto per punto mediante una formula trigonometrica:

Public Sub DrawingArea1_Draw()
 
 Dim x, y, r, t As Integer
    
  x = 100
  y = 100
  r = 100
     
  For t = 0 To 360
    Paint.FillRect(x + (r * Cos(t)), y + (r * Sin(t)), 1, 1, Color.Black)
  Next
  
  Paint.End
  
End