实例091绘制直线
程序员文章站
2022-07-14 09:59:46
...
绘制图形需要准备绘图的区域、绘图笔以及绘制的对象等.
在VB.NET中,要在窗体上绘图,必须首先获取该窗体的Windows句柄。对话框Form的属性Handle,即为Windows句柄,该属性为只读。勺柄是由定义在System名称空间中的IntPtr进行说明的结构变量。主要用gf 标识对象。
通过该属性,可得到GDl新的设备接口Graphics类对象。Graphics类由System.Drawing定义,主要是封装了GDI和绘图功能。
Graphics类对象实例可通过FromHwnd方法获得。
FromHwnd方法是定义在Graphics类中的方法,它有一个参数,即需要绘图的控件的句柄。
通过FromHwnd方法获取Graphics类的对象之后,就可使用该对象中封装的各种绘图方法;
DrawLine方法是绘制直线的方法。DrawLine方法被多次重载。其中一种形式如下所示:
DrawLine (Pen, xl,yl,x2,y2)
其中Pen是定义在System.Drawing名称空间下的Pen类实例对象,即画笔对象。通过Pen对象的不同,可以绘制不同颜色、不同样式的直线。Pen类的构造函数也经过多次重载。其中一种形式是带一个参数,表示该绘图笔的颜色。DrawLine方法的参数xl,yl表示直线的起始座标。x2和y2表示直线的终点座标。
Imports System.Math
Public Class Form1
Dim myWin As IntPtr
Dim myGraph As Graphics
Dim myPen As New Pen(Color.Gold, 5)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
myWin = Me.Handle
myGraph = Graphics.FromHwnd(myWin)
End Sub
Private Sub btnDrawLine_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDrawLine.Click
Dim x1, y1, x2, y2 As Single
x1 = Me.Width / 2
y1 = Me.Height / 2
Dim icount As Integer
For icount = 0 To 360
x2 = x1 + 500 * Sin(icount * PI / 90)
y2 = y1 + 500 * Cos(icount * PI / 90)
myGraph.DrawLine(myPen, x1, y1, x2, y2)
Next
End Sub
Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
Me.Close()
End Sub
End Class
上一篇: Canvas 绘制直线