Disegnare in una DrawingArea un rombo
Vai alla navigazione
Vai alla ricerca
Di seguito mostreremo un possibile codice per disegnare un Rombo in 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 ' Centro X
Dim cy As Float = DrawingArea1.H / 2 ' Centro Y
Dim width As Float = DrawingArea1.W * 0.4 ' Larghezza del rombo
Dim height As Float = DrawingArea1.H * 0.3 ' Altezza del rombo
Dim puntoRaggio As Float = 5 ' Raggio del punto centrale
Dim points As New PointF[4]
points[0] = New PointF(cx, cy - height / 2) ' Vertice superiore
points[1] = New PointF(cx + width / 2, cy) ' Vertice destro
points[2] = New PointF(cx, cy + height / 2) ' Vertice inferiore
points[3] = New PointF(cx - width / 2, cy) ' Vertice sinistro
With Paint
.Brush = Paint.Color(Color.Black)
.LineWidth = 2
' Disegna il rombo:
.MoveTo(points[0].X, points[0].Y)
For i As Integer = 1 To 3
.LineTo(points[i].X, points[i].Y)
Next
.LineTo(points[0].X, points[0].Y)
.Stroke
' Disegna il punto nero al centro:
.Brush = Paint.Color(Color.Black)
.Ellipse(cx - puntoRaggio, cy - puntoRaggio, puntoRaggio * 2, puntoRaggio * 2)
.Fill
End With
End