簡(jiǎn)單簡(jiǎn)述VB.NET繪制圖形
學(xué)習(xí)VB.NET時(shí),你可能會(huì)遇到VB.NET繪制圖形問(wèn)題,這里將介紹VB.NET繪制圖形問(wèn)題的解決方法,在這里拿出來(lái)和大家分享一下。
1.創(chuàng)建Graphics對(duì)象
VB.NET繪制圖形需要指定繪圖表面。其中,窗體和所有具有Text屬性的控件都可以作為繪制圖形的表面。因?yàn)镚raphics對(duì)象標(biāo)識(shí)GDI+的繪圖表面,所以,繪制圖形必須先創(chuàng)建Graphics對(duì)象。創(chuàng)建Graphics對(duì)象有以下幾種方法。
1>使用CreateGraphics方法創(chuàng)建
這是一種常見(jiàn)的創(chuàng)建方法,其格式為:Dim 對(duì)象名 As Graphics對(duì)象名=窗體名(或控件名).CreateGraphics
2>利用PaintEventArgs參數(shù)傳遞Graphics對(duì)象
通過(guò)窗體或控件的Paint事件可以直接完成圖形繪制。在編寫(xiě)Paint事件處理程序時(shí),參數(shù)PaintEventArgs就提供了圖形對(duì)象。例如:
- Private Sub Form1_Paint(ByVal sender As Object,
ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint- Dim g_paint As Graphics = e.Graphics
- …
- End Sub
3>從Image對(duì)象創(chuàng)建
還可以使用Image對(duì)象來(lái)創(chuàng)建,這時(shí)要使用Graphics.FromImage方法
2.VB.NET繪制圖形首先要會(huì)使用畫(huà)筆
畫(huà)筆是用來(lái)畫(huà)線的GDI+對(duì)象,它是Pen類的一個(gè)實(shí)例。使用畫(huà)筆可以繪制直線,曲線,以及矩形,圓形,多邊形等形狀的邊框。
1>建立畫(huà)筆
格式:Dim 畫(huà)筆名 As New Pen(顏色[,寬度])其中顏色即用畫(huà)筆繪制線條的顏色,寬度是畫(huà)筆繪制線條的寬度,單位是像素。寬度的默認(rèn)值是1。
例如:Dim mypen As New Pen(Color.Blue)或Dim mypen As Pen = New Pen(Color.Blue)
2>繪制線條或空心形狀
建立畫(huà)筆后,就可以用Graphics類的各種方法繪制直線,曲線或矩形,圓形等空心形狀的線條。
(1)DrawLine方法——畫(huà)直線DrawLine(畫(huà)筆名,X1,Y1,X2,Y2)其中,(X1,Y1)和(X2,Y2)是直線的起始點(diǎn)和終止點(diǎn)的坐標(biāo),他們可以是Integer值,也可以是Single值。當(dāng)直線很短時(shí),可以近似為點(diǎn)。
(2)DrawRectangle方法——畫(huà)矩形DrawRectangle(畫(huà)筆名,X,Y,寬度,高度)其中,(X,Y)時(shí)矩形左上角的坐標(biāo),寬度和高度指定矩形的寬和長(zhǎng)。
(3)DrawPolygon方法——畫(huà)多邊形DrawPolygon(畫(huà)筆名,頂點(diǎn))
其中,頂點(diǎn)是一個(gè)數(shù)組,該數(shù)組類型是Point或PointF結(jié)構(gòu),數(shù)組的各元素用來(lái)指定多邊形各頂點(diǎn)的坐標(biāo)。由Point結(jié)構(gòu)指定的是Integer類型,而由PointF指定的是Single類型。
用Point或PointF結(jié)構(gòu)來(lái)定義一個(gè)點(diǎn)的格式是:Dim 點(diǎn)名 As New Point/PointF(x,y)DrawPolygon方法的功能是按數(shù)組頂點(diǎn)的順序連接成一個(gè)多邊形,兩個(gè)連續(xù)的頂點(diǎn)之間繪制一條邊。
(4)DrawEllipse方法——畫(huà)圓和橢圓DrawEllipse(畫(huà)筆名,X,Y,寬度,高度)方法中的x,y,寬度,高度定義的矩形是要繪制的圓或橢圓的外切矩形,它決定了所畫(huà)橢圓的大小和形狀。當(dāng)寬度和高度相等時(shí),所畫(huà)的就是圓,否則就是橢圓。
(5)DrawArc方法——畫(huà)弧DrawArc(畫(huà)筆名,X,Y,寬度,高度,起始角,掃描角)該方法與DrawEllipse方法相比多了起始角和掃描角兩個(gè)參數(shù),這可以看作是在截取圓或橢圓而形成的一段弧。起始角和掃描角都是以度為單位的,一般以水平向右的半徑為0度,然后按順時(shí)針?lè)较虍?huà)弧。起始角是開(kāi)始畫(huà)弧的角度,掃描角是順時(shí)針?lè)较蛟黾拥慕嵌取.?dāng)掃描角為360度時(shí),畫(huà)出的就是一個(gè)圓或者橢圓。
(6)DrawPie方法——畫(huà)餅圖DrawPie(畫(huà)筆名,X,Y,寬度,高度,起始角,掃描角)餅圖也稱扇圖。該方法與DrawArc方法的參數(shù)一樣,但是餅圖比弧多出兩條半徑。
【編輯推薦】