画坐标系的代码,什么都没有,啥原因,------有答案就结贴。
下列代码应该在图片框里画一坐标系,但什么都没有,望指教。
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim month As String() = {"一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}
Dim d As Single() = {20.5F, 60, 10.8F, 15.6F, 30, 70.9F, 50.3F, 30.7F, 70, 50.4F, 30.8F, 20}
Dim bMap As Bitmap = New Bitmap(500, 500)
Dim gph As Graphics = Graphics.FromImage(bMap)
gph.Clear(Color.White)
Dim cPt As PointF = New PointF(40, 420)
Dim xPt As PointF() = {New PointF(cPt.Y + 15, cPt.Y), New PointF(cPt.Y, cPt.Y - 8), New PointF(cPt.Y, cPt.Y + 8)}
Dim yPt As PointF() = {New PointF(cPt.X, cPt.X - 15), New PointF(cPt.X - 8, cPt.X), New PointF(cPt.X + 8, cPt.X)}
Dim pictruebox1 As New PictureBox
gph.DrawString("某工厂某产品月生产量图表", New Font("宋体", 14), Brushes.Black, New PointF(cPt.X + 60, cPt.X))
gph.DrawLine(Pens.Black, cPt.X, cPt.Y, cPt.Y, cPt.Y)
gph.DrawPolygon(Pens.Black, xPt)
gph.FillPolygon(New SolidBrush(Color.Black), xPt)
gph.DrawString("月份", New Font("宋体", 12), Brushes.Black, New PointF(cPt.Y + 10, cPt.Y + 10))
gph.DrawLine(Pens.Black, cPt.X, cPt.Y, cPt.X, cPt.X)
gph.DrawPolygon(Pens.Black, yPt)
gph.FillPolygon(New SolidBrush(Color.Black), yPt)
gph.DrawString("单位(万)", New Font("宋体", 12), Brushes.Black, New PointF(0, 7))
Dim i As Integer = 1
While i <= 12
If i < 11 Then
gph.DrawString((i * 10).ToString, New Font("宋体", 11), Brushes.Black, New PointF(cPt.X - 30, cPt.Y - i * 30 - 6))
gph.DrawLine(Pens.Black, cPt.X - 3, cPt.Y - i * 30, cPt.X, cPt.Y - i * 30)
End If
gph.DrawString(month(i - 1).Substring(0, 1), New Font("宋体", 11), Brushes.Black, New PointF(cPt.X + i * 30 - 5, cPt.Y + 5))
gph.DrawString(month(i - 1).Substring(1, 1), New Font("宋体", 11), Brushes.Black, New PointF(cPt.X + i * 30 - 5, cPt.Y + 20))
If month(i - 1).Length > 2 Then
gph.DrawString(month(i - 1).Substring(2, 1), New Font("宋体", 11), Brushes.Black, New PointF(cPt.X + i * 30 - 5, cPt.Y + 35))
End If
gph.DrawEllipse(Pens.Black, cPt.X + i * 30 - 1.5F, cPt.Y - d(i - 1) * 3 - 1.5F, 3, 3)
gph.FillEllipse(New SolidBrush(Color.Black), cPt.X + i * 30 - 1.5F, cPt.Y - d(i - 1) * 3 - 1.5F, 3, 3)
gph.DrawString(d(i - 1).ToString, New Font("宋体", 11), Brushes.Black, New PointF(cPt.X + i * 30, cPt.Y - d(i - 1) * 3))
If i > 1 Then
gph.DrawLine(Pens.Red, cPt.X + (i - 1) * 30, cPt.Y - d(i - 2) * 3, cPt.X + i * 30, cPt.Y - d(i - 1) * 3)
End If
System.Math.Min(System.Threading.Interlocked.Increment(i), i - 1)
End While
pictruebox1.Image = bMap
End Sub
End Class