基于VB 6.0智能電子自旋共振儀系統(tǒng)繪圖模塊實現(xiàn)
l 繪圖模塊的開發(fā)環(huán)境
對某一個系統(tǒng)的開發(fā),開發(fā)者可以選用各種編程語言來完成,通常使用的高級語言如C--,Java,PB,Visual Basic等,各種語言有各自的優(yōu)點與缺點,基于不同的用戶需求選用的語言也有所不同。該實驗系統(tǒng)的開發(fā)中選用了Visual Basic 6.0,選用它的主要原因是:
(1)Visual Basic 6.O具有友好的可視化界面;
(2)Visual Basic 6.O自帶的通信控件可以方便地與智能電子自旋共振儀器進(jìn)行通信;
(3)Visual Basic 6.o中的畫線功能可以自由地繪出繪圖區(qū)中的譜線;
(4)程序代碼易于以后的修改與擴(kuò)充。
2 繪圖區(qū)實現(xiàn)
在此使用圖片框(pictuer 2)來顯示共振譜線,所以第一步就是要在窗體上定位圖片框,并為其設(shè)置外觀及其他屬性。在該實驗中,繪圖區(qū)(picMain)中顯示曲線有坐標(biāo)值,所以首先畫出圖片框,然后在圖片框中定制曲線生成區(qū)。定制圖片框或繪圖區(qū)都要先確定他們在窗體的哪個位置。所以下面先闡述VB中坐標(biāo)系的定義。
2.1 坐標(biāo)系的確定
VB坐標(biāo)系介紹:VB里有3種坐標(biāo)系,屏幕坐標(biāo)系、窗體坐標(biāo)系和窗體內(nèi)的對象坐標(biāo)系。這3種坐標(biāo)系都是以其左上角為坐標(biāo)原點,與平常使用的幾何坐標(biāo)系不一致,常使人們繪圖時感到不習(xí)慣。VB允許編程人員自定義坐標(biāo)系,根據(jù)需要定義坐標(biāo)原點的位置。默認(rèn)的坐標(biāo)系統(tǒng)是容器的左上角的坐標(biāo)為(O,O),右下角坐標(biāo)為(width,Height),為了根據(jù)自己的需要來定義坐標(biāo)系統(tǒng),用到了Scale相關(guān)屬性。
通過設(shè)置ScaleLeft和ScaleTop來設(shè)置左上角的坐標(biāo)。實驗中右下角坐標(biāo)為:
2.2 設(shè)置繪圖區(qū)網(wǎng)格
定制好了繪圖區(qū),為了繪圖區(qū)的美觀,繪圖中區(qū)加了橫縱相交的網(wǎng)格。橫坐標(biāo)固定只有5個細(xì)分格,縱坐標(biāo)固定4個細(xì)分格。部分代碼如下:
2.3 設(shè)置坐標(biāo)
根據(jù)繪圖區(qū)的大小與高度繪制x軸和y軸。
3 繪圖模塊實時曲線的生成
畫好繪圖區(qū)及坐標(biāo)系后,就要在繪圖區(qū)繪制實時曲線,實時曲線的繪制一般借助于Timer控件來完成,使用Timer控件,定期將串口或是其他儀器中監(jiān)測到的數(shù)據(jù)送往pic_main,而曲線的繪制一般畫成折線圖,采用PictureBoxl的Line方法繪制。用Line方法可以在窗體或圖片框上繪制一條直線或繪制一個矩形。
Line方法的一般格式:
[對象名.]Line(x1,y1)-(x2,y2)[,顏色]
其中:(x1,y1)為始點坐標(biāo);(x2,y2)為終點坐標(biāo);顏色可以使用RGB函數(shù),規(guī)定畫線或畫矩形的顏色。代碼如下:
3.1 曲線的生成
曲線的生成為:
3.2 時鐘更新曲線
時鐘更新曲線為:
這樣,就完成了在繪圖區(qū)中顯示從單片機(jī)實時采集到的數(shù)據(jù)的任務(wù)。
4 雙游標(biāo)讀取某兩點的數(shù)值差
用4條線來描述雙游標(biāo)。首先在繪圖區(qū)上放置4條直線控件,4條線放置成2對坐標(biāo)形式(十字相交)。并設(shè)置4條線的屬性:
4條直線的名稱分別為線c0_x,c0_y,c1_x,c1_y。
顏色分別為c0_x.bordercolor&H0000OOFF&;c1_x.bordercolor&HOOFFFF00&。
4.1 獲取任意點的坐標(biāo)值
通過在曲線上單擊鼠標(biāo)左鍵來獲得坐標(biāo)值
4.2 任意點坐標(biāo)值的顯示
因為獲取的是任意點的坐標(biāo)值,所以鼠標(biāo)放在曲線的任意位置時,坐標(biāo)CO()與坐標(biāo)C1()的值相應(yīng)的要改變。
某點的坐標(biāo)如圖1所示。
最后實驗生成的曲線如圖2所示。
5 結(jié)語
電子自旋共振儀數(shù)據(jù)支撐系統(tǒng),基于VB 6.0平臺,代碼簡單、容易擴(kuò)充。學(xué)生可以根據(jù)個人需求進(jìn)行系統(tǒng)功能的擴(kuò)充。系統(tǒng)設(shè)計的控制程序?qū)⑺鶞y得的數(shù)據(jù)繪制成動態(tài)曲線顯示在繪圖區(qū)中,實驗數(shù)據(jù)的采集更為直觀和準(zhǔn)確。