十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
繪圖是系統(tǒng)內(nèi)部操作的,不需要懂原理
創(chuàng)新互聯(lián)長期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為克拉瑪依區(qū)企業(yè)提供專業(yè)的網(wǎng)站制作、網(wǎng)站建設(shè),克拉瑪依區(qū)網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
方法就在那里,只有會用和不會用,你的代碼告訴它繪制,它就會繪制。它(方法)究竟如何去繪制的并不是重點,反正它會繪制。
drawline(繪線)方法很簡單,第一個參數(shù)是pen,它確定線條的顏色、寬度和樣式。第二、第三個參數(shù)都是point類型,確定兩個點的位置,繪制直線。
1. 創(chuàng)建一個Graphics對象實例。
繪制圖形必須創(chuàng)建Graphics對象。如果是在窗體上繪圖,要使用下列代碼創(chuàng)建Graphics對象;
Dim MyGraphics As Graphics = Me.CreateGraphics
如果是在PictrueBox里繪圖,要使用下列代碼創(chuàng)建Graphics對象;
Dim MyGraphics As Graphics = PictureBox1.CreateGraphics
2. 定義一個Brush對象,用來填充圖形(如果你需要填充的話)。
如果填充封閉曲線或者多邊形,必須創(chuàng)建Brush對象(或者Brush類的繼承類對象),用來確定填充的顏色。例如下面的代碼,創(chuàng)建了一個填充紅色的畫刷對象。在最后的括號里,用Color結(jié)構(gòu)指定的枚舉值,確定畫刷的顏色。限于篇幅有關(guān)Color結(jié)構(gòu)這里不展開,可能在后續(xù)博文里介紹。
Dim RedBrush As New SolidBrush(Color.Red)
不想整個重畫,最好用單色的背景,例如黑色,線條是白色的
用變量把線條的內(nèi)容備份
當想改變線條的位置或者長度之前,先用存下來的變量以黑色重畫一次,覆蓋原來的白色線條
然后再畫新的白色線條,這種重畫方法比較節(jié)省資源
假如需要用花哨的背景或者圖片當背景,也可以用局部重回的方式。
代碼就不提供了,只提供思路。
代碼寫起來可能比較麻煩,給你個思路,就是用GraphicsPath來繪制,然后通過繪制目標的鼠標移動事件來獲取當前鼠標在繪制目標中的實際位置,再通過GraphicsPath的IsVisible()方法來確認鼠標是否包含在GraphicsPath中。
DrawLine直線比較容易處理,只要得到Line的坐標點,然后比較當前鼠標坐標就好。
這個必須用控件的方法解決,VB6有個Line控件很容易解決這個問題,但是VB.NET沒有了,幸好微軟也想到了這個缺陷,提供免費的Visual Basic PowerPacks控件箱,其中有Line控件。
Visual Basic PowerPacks下載地址:
使用 LineShape 控件繪制直線:
'把“Dim graph As Graphics = Me.CreateGraphics”挪到“Button1_Click”事件內(nèi),調(diào)試過成功!
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim graph As Graphics = Me.CreateGraphics
Dim pen2 As Pen = New Pen(Color.Green, 3)
graph.DrawLine(pen2, 400, 400, 500, 200)
End Sub
End Class