怎样用VB.NET绘制简单的拓扑图
通过输入接点的多少和距离得到简单的拓扑图
[img]http://cyrene.cn/upload/01.jpg[/img]
[img]http://cyrene.cn/upload/02.jpg[/img]
希望大家能帮忙
[解决办法]
给你一个我写的绘制菜单的例子,Paint是控件的绘制事件,只要掌握了刷子和画笔之类的,绘制图形你会发现实际上简单得很。
最复杂的反而是定位——因为我已经把初中的三角函数忘光了,所以前些日子绘制雷达图,相当的费劲
Private Sub IMGLabel_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
'背景渐变色
Dim backBrush As Drawing2D.LinearGradientBrush
Dim Rect As System.Drawing.RectangleF
If EnabledChangeColor = True Then
If CurDefault = True Then
Dim MyBrush As SolidBrush = New SolidBrush(Color.LightSteelBlue)
e.Graphics.FillRectangle(MyBrush, Me.ClientRectangle)
Else
If CurIn = False Then
backBrush = New Drawing2D.LinearGradientBrush(Me.ClientRectangle, Color.White, Color.LightGray, Drawing2D.LinearGradientMode.Vertical)
e.Graphics.FillRectangle(backBrush, Me.ClientRectangle)
Else
Dim MyBrush As SolidBrush = New SolidBrush(Color.LightSteelBlue)
e.Graphics.FillRectangle(MyBrush, Me.ClientRectangle)
End If
End If
Else
backBrush = New Drawing2D.LinearGradientBrush(Me.ClientRectangle, Color.White, Color.LightGray, Drawing2D.LinearGradientMode.Vertical)
e.Graphics.FillRectangle(backBrush, Me.ClientRectangle)
End If
e.Graphics.DrawLine(New Pen(Color.Gray, 1), New Point(0, Me.Height - 1), New Point(Me.Width, Me.Height - 1))
If CurText <> " " Then
If Not (CurIMG Is Nothing) Then
Rect.Location = New Point(13, 3)
Rect.Size = New Size(16, 16)
e.Graphics.DrawImage(CurIMG, Rect)
End If
e.Graphics.DrawString(CurText, New Font( "宋体 ", 9), Brushes.Black, 36, 5)
End If
End Sub