在vb中畫曲線_第1頁
已閱讀1頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、在vb中畫曲線中畫曲線在工控制軟件中,實(shí)時(shí)曲線的繪制用途非常的廣泛,它可以很直觀的顯示出監(jiān)控?cái)?shù)據(jù)的變化值和變化趨勢。在VB中實(shí)現(xiàn)曲線的繪制有很多種方法,本文介紹一種非常簡單的方法來實(shí)現(xiàn)實(shí)時(shí)曲線的繪制。在VB中實(shí)現(xiàn)實(shí)時(shí)曲線的繪制,要利用VB的PictureBox(圖像)控件,和畫線函數(shù)line(x1y1)(x2y2)。PictureBox控件,可以作為一個(gè)“容器”,在它的里面可以包含很多的對象。也可以執(zhí)行很多VB的內(nèi)部函數(shù)。要實(shí)現(xiàn)實(shí)時(shí)曲線

2、的繪制,肯定要有外部實(shí)時(shí)數(shù)據(jù)的輸入,這里假設(shè)是有一個(gè)數(shù)據(jù)從計(jì)算機(jī)的串口輸入定義該數(shù)據(jù)變量為DataFromCom。實(shí)時(shí)曲線反映的就是該數(shù)據(jù)。打開VB6.0中文版,新建一個(gè)項(xiàng)目和窗體,修改窗體的屬性,將“Heigh”修改為:8000,“Width”修改為在窗體中放如一個(gè)PictureBox控件。然后重新定義PictureBox控件的一些基本屬性,在VB中選中PictureBox控件,直接在它的屬性框中,修改一些屬性參數(shù)。“名稱”改為Pic

3、?!癆utedraw”改為:True?!癇ackCol”改為:&H00004000&(墨綠色背景顏色)?!盚eigh”改為:5000。“Width”改為:8000。如圖1所示:然后要重新定義PictureBox控件的坐標(biāo)系。圖像框的默認(rèn)坐標(biāo)系,是從左上角開始的,不符合我們的畫線要求。修改坐標(biāo)系的目的是讓曲線從圖像框的左邊正中間,開始畫線。修改圖像框的坐標(biāo)系,這里定義一個(gè)過程PicScale()代碼如下:PrivateSubPicScal

4、e(picXAsPictureBox)picX.Scale(0PicX.ScaleHeight)(picX.ScaleWidthPicX.ScaleHeight)EndSub一般的實(shí)時(shí)曲線顯示的時(shí)候在屏幕的正中間有一條基準(zhǔn)線,這里也要畫出這條基準(zhǔn)線,用一個(gè)過程PicleLine()來實(shí)現(xiàn)代碼如下:PrivateSubPicleLine(picXAsPictureBox)picX.Line(00)(picX.ScaleWidth0)vbG

5、reen畫出中線EndSub要畫一條實(shí)時(shí)曲線,坐標(biāo)軸的設(shè)定很重要,在這里把X軸設(shè)定為時(shí)間軸,Y軸設(shè)定為數(shù)據(jù)軸。對應(yīng)X軸我們定義一個(gè)時(shí)間變量TimeCountTimeCount會(huì)隨著時(shí)間逐漸遞增,每次遞增,對應(yīng)著一個(gè)從串口讀過來的數(shù)據(jù)DataFromCom,這樣圖像框中的(xy)坐標(biāo)點(diǎn)實(shí)際上就對應(yīng)著(TimeCountDataFromCom)如果只是當(dāng)TimeCount發(fā)生變化時(shí)就在圖像框上畫一個(gè)點(diǎn),就只需調(diào)用VB中的畫像素的函數(shù)poin

6、t(xy),這里xy為所畫的點(diǎn)的坐標(biāo)。單這樣畫出來的是一個(gè)個(gè)不連續(xù)的點(diǎn)。我們想要的是實(shí)時(shí)的連續(xù)的曲線,所以要調(diào)用VB中的畫線的函數(shù)line(x1y1)(x2y2),這里(x1y1)(x2y2)為所要畫的線的起點(diǎn)和終點(diǎn)的坐標(biāo)。只要把上次串口讀過來的數(shù)據(jù)(這里把它定義為變量DataFromComLast)和現(xiàn)在串口讀過來的數(shù)據(jù)(DataFromCom)和TimeCount相對應(yīng),調(diào)用line(x1y1)(x2y2)函數(shù)就可以在圖像框中畫出實(shí)

7、時(shí)的曲線了。把它寫成一個(gè)過程如下面的代碼:PrivateSubDrawRealLine(picXAsPictureBoxTimeCountXAsIntegerDataFromComXAsIntegerDataFromComLastXAsInteger)IfTimeCountX10ThenpicX.Line(TimeCountX1DataFromComLastX)(TimeCountXDataFromComX)vbWhitePrivate

8、SubDrawRealLine(picXAsPictureBoxTimeCountXAsIntegerDataFromComXAsIntegerDataFromComLastXAsInteger)IfTimeCountX10ThenpicX.Line((TimeCountX1)10DataFromComLastX)(TimeCountX10DataFromComX)vbWhiteEndIfEndSubPrivateSubTimer1_T

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論