Differenze tra le versioni di "Disegnare in una DrawingArea un romboide"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "Di seguito mostreremo un possibile codice per disegnare un Romboide su una ''DrawingArea''. I 5 vertici del Pentagono regolare sono stati correttamente individuati su una cir...") |
|||
(4 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
Di seguito mostreremo un possibile codice per disegnare un Romboide su una ''DrawingArea''. | Di seguito mostreremo un possibile codice per disegnare un Romboide su una ''DrawingArea''. | ||
− | I | + | I 4 vertici del Romboide sono stati correttamente individuati su una circonferenza ideale, alla quale detti vertici appartengono, |
− | <BR>E' possibile variare la dimensione del | + | <BR>E' possibile variare la dimensione del Romboide, modificando il raggio della circonferenza, sulla quale i suoi vertici insistono. |
Private DrawingArea1 As DrawingArea | Private DrawingArea1 As DrawingArea | ||
− | Private Const RAGGIO As Single = 100.0 | + | Private Const <FONT Color=#B22222>RAGGIO</font> As Single = 100.0 |
Private Const ROMBOIDE As Byte = 4 | Private Const ROMBOIDE As Byte = 4 | ||
Private coord As Single[] | Private coord As Single[] | ||
Private pol As New Single[] | Private pol As New Single[] | ||
− | + | ||
− | + | ||
Public Sub Form_Open() | Public Sub Form_Open() | ||
Riga 22: | Riga 22: | ||
End | End | ||
+ | |||
Public Sub Form_Arrange() | Public Sub Form_Arrange() | ||
Riga 34: | Riga 35: | ||
End | End | ||
+ | |||
Public Sub DrawingArea1_Draw() | Public Sub DrawingArea1_Draw() | ||
Riga 40: | Riga 42: | ||
.Arc(coord[0], coord[1], 2, Rad(0), Rad(360), False) | .Arc(coord[0], coord[1], 2, Rad(0), Rad(360), False) | ||
.Fill | .Fill | ||
− | .Polygon([ | + | .Polygon([coord[0] + pol[0], coord[1] + pol[1], coord[0] + pol[2], coord[1] + pol[3], coord[0] + pol[4] - 150, coord[1] + pol[5], coord[0] + pol[6], coord[1] + pol[7]]) |
.Stroke | .Stroke | ||
.End | .End |
Versione attuale delle 10:48, 27 giu 2024
Di seguito mostreremo un possibile codice per disegnare un Romboide su una DrawingArea.
I 4 vertici del Romboide sono stati correttamente individuati su una circonferenza ideale, alla quale detti vertici appartengono,
E' possibile variare la dimensione del Romboide, modificando il raggio della circonferenza, sulla quale i suoi vertici insistono.
Private DrawingArea1 As DrawingArea Private Const RAGGIO As Single = 100.0 Private Const ROMBOIDE As Byte = 4 Private coord As Single[] Private pol As New Single[] Public Sub Form_Open() With Me .W = Screen.AvailableWidth .H = Screen.AvailableHeight .Arrangement = Arrange.Fill End With With DrawingArea1 = New DrawingArea(Me) As "DrawingArea1" .Background = Color.Lighter(Color.Yellow) End With End Public Sub Form_Arrange() coord = [DrawingArea1.W / 2, DrawingArea1.H / 2] Dim gradi As Single[] = [0.0, 90.0, 180.0, 270.0] For t As Byte = 0 To ROMBOIDE - 1 pol.Push(RAGGIO * Cos(Rad(gradi[t]))) pol.Push(RAGGIO * Sin(Rad(gradi[t]))) Next End Public Sub DrawingArea1_Draw() With Paint .Arc(coord[0], coord[1], 2, Rad(0), Rad(360), False) .Fill .Polygon([coord[0] + pol[0], coord[1] + pol[1], coord[0] + pol[2], coord[1] + pol[3], coord[0] + pol[4] - 150, coord[1] + pol[5], coord[0] + pol[6], coord[1] + pol[7]]) .Stroke .End End With End