Disegnare in una DrawingArea un esagono regolare
Vai alla navigazione
Vai alla ricerca
Di seguito mostreremo un possibile codice per disegnare un Esagono regolare su una DrawingArea.
Private DrawingArea1 As DrawingArea
Public Sub Form_Open()
With Me
.Move(0, 0, Screen.AvailableWidth, Screen.AvailableHeight)
.Arrangement = Arrange.Fill
End With
With DrawingArea1 = New DrawingArea(Me) As "DrawingArea1"
.Background = Color.Lighter(Color.Yellow)
End With
End
Public Sub DrawingArea1_Draw()
Dim cx As Float = DrawingArea1.W / 2
Dim cy As Float = DrawingArea1.H / 2
Dim r As Float = Min(DrawingArea1.W, DrawingArea1.H) * 0.2 ' Raggio dell'Esagono
Dim numSides As Integer = 6 ' Esagono = 6 lati
Dim angleStep As Float = 2 * Pi / numSides
Dim points As New PointF[numSides]
Dim i As Integer
For i = 0 To numSides - 1
Dim angle As Float = angleStep * i - Pi / 2 ' Rotazione per partire da cima
points[i] = New PointF(cx + r * Cos(angle), cy + r * Sin(angle))
Next
With Paint
.Brush = Paint.Color(Color.Black)
.LineWidth = 2
.MoveTo(points[0].X, points[0].Y)
For i = 1 To numSides - 1
.LineTo(points[i].X, points[i].Y)
Next
.LineTo(points[0].X, points[0].Y)
.Stroke
End With
End