Differenze tra le versioni di "Disegnare in una DrawingArea una spirale"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "==Disegnare una Spirale Archimedea== Per disegnare su una ''DrawingArea'' una [https://it.wikipedia.org/wiki/Spirale_archimedea Spirale Archimedea], possiamo utilizzare il seg...") |
|||
Riga 24: | Riga 24: | ||
Dim t As Short | Dim t As Short | ||
− | Dim x, y, r As Float | + | Dim x, y, r As Float <FONT Color=gray>' ''r = distanza del punto relativo della spirale dal centro''</font> |
x = DrawingArea1.W / 2 | x = DrawingArea1.W / 2 | ||
y = DrawingArea1.H / 2 | y = DrawingArea1.H / 2 | ||
− | |||
− | |||
− | |||
With Paint | With Paint |
Versione delle 15:39, 24 nov 2021
Disegnare una Spirale Archimedea
Per disegnare su una DrawingArea una Spirale Archimedea, possiamo utilizzare il seguente codice:
Private DrawingArea1 As DrawingArea Private Const VOLUTE As Byte = 8 Private Const THETA As Float = 1E-4 Public Sub Form_Open() With Me .W = Screen.AvailableWidth .H = Screen.AvailableHeight .Arrangement = Arrange.Fill End With With DrawingArea1 = New DrawingArea(Me) As "DrawingArea1" .X = 0 .Y = 0 End With End Public Sub DrawingArea1_Draw() Dim t As Short Dim x, y, r As Float ' r = distanza del punto relativo della spirale dal centro x = DrawingArea1.W / 2 y = DrawingArea1.H / 2 With Paint .Brush = .Color(Color.Red) For t = 0 To 360 * VOLUTE r = r + (t * THETA) .Arc(x + (r * Cos(Rad(t))), y + (r * Sin(Rad(t))), 1.0, Rad(0), Rad(360), False) .Fill Next .End End With End