用VB.NET绘制GDI图形

  下面的例子通过重载Form1窗体的OnPaint()方法绘制GDI图形

Protected Overrides Sub onpaint(ByVal e As System.Windows.Forms.PaintEventArgs)

注释://///////////绘制任意直线

Dim g As Graphics = e.Graphics

Dim mypen As Pen = New Pen(Color.Red, 2)

g.DrawLine(mypen, 100, 100, 10, 10)

注释://///////////绘制矩形(任意直线构成的封闭图形)

Dim point1 As PointF = New PointF(100F, 100F)

Dim point2 As PointF = New PointF(200F, 100F)

Dim point3 As PointF = New PointF(200F, 200F)

Dim point4 As PointF = New PointF(100F, 200F)

Dim curvepoints As PointF() = {point1, point2, point3, point4}

g.DrawPolygon(New Pen(Color.Blue, 2), curvepoints)

注释:////////////文本表示

Dim FFamily As FontFamily = New FontFamily("Arial")

Dim font As Font = New Font(FFamily, "20", FontStyle.Bold, FontStyle.Italic, GraphicsUnit.Pixel)

Dim text As String = "I love you!"

Dim solidbrush As SolidBrush = New SolidBrush(Color.Red)

Dim pr As PointF = New PointF(100, 10)

e.Graphics.DrawString(text, font, solidbrush, pr)

注释:////////////平面绘制

Dim rec As RectangleF = New RectangleF(10, 10, 200, 100)

g.DrawPie(mypen, rec, 150, 150)

注释:///////////封闭图形,0.7应该是个圆

g.DrawClosedCurve(mypen, curvepoints, 0.7, Drawing.Drawing2D.FillMode.Alternate)

注释:///////////大家自己试试看吧

g.DrawArc(mypen, 300, 300, 200, 200, 100, 100)

g.DrawCurve(mypen, curvepoints)

g.DrawBezier(mypen, 50, 50, 100, 50, 100, 100, 50, 100)

g.DrawBeziers(mypen, curvepoints)

注释://////////这可是一个圆

Dim rec1 As RectangleF = New RectangleF(10, 10, 100, 100)

g.DrawEllipse(mypen, rec1)

注释://////////这是一个椭圆

Dim rec2 As RectangleF = New RectangleF(10, 10, 200, 100)

g.DrawEllipse(mypen, rec2)

End Sub