Differenze tra le versioni di "Disegnare un cerchio con le Classi "Draw" e "Paint""

Da Gambas-it.org - Wikipedia.
 
(6 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Per disegnare un cerchio all'interno di una ''DrawingArea'', è possibile utilizzare sia la Classe "''Draw''" che la Classe "''Paint''".
+
#REDIRECT [[Disegnare_in_una_DrawingArea_un_cerchio]]
 
 
 
 
===Disegnare un cerchio con la Classe "''Draw''"===
 
La Classe ''Draw'' ci consente di disegnare un cerchio mediante il metodo "''Circle()''".
 
<BR>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 As Integer
 
  Dim t, tt As Integer
 
 
 
  x = 100
 
  y = 100
 
  r = 100
 
  tt = 50
 
 
 
  For t = 0 To 360
 
    Paint.FillRect(x + (tt * Cos(t)), y + (tt * Sin(t)), 1, 1, Color.Black)
 
  Next
 
 
 
  Paint.End
 
 
 
'''End'''
 

Versione attuale delle 16:59, 5 dic 2021