第九章vb60圖形程序設(shè)計(jì)_第1頁(yè)
第九章vb60圖形程序設(shè)計(jì)_第2頁(yè)
第九章vb60圖形程序設(shè)計(jì)_第3頁(yè)
第九章vb60圖形程序設(shè)計(jì)_第4頁(yè)
第九章vb60圖形程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第九章      圖形程序設(shè)計(jì)9.1 圖形控件圖形控件包括圖片框控件、圖像框控件、直線控件和形狀控件4種,其中圖片框和圖像框是用來(lái)放置圖片的,在第5章中已經(jīng)介紹過(guò),本節(jié)介紹另外兩種圖形控件。直線控件    直線控件用來(lái)創(chuàng)建直線。它的使用方法與其他控件相同,在工具箱中單擊直線控件圖標(biāo),將鼠標(biāo)移動(dòng)到窗體上,在所需位置開(kāi)始拖動(dòng)鼠標(biāo),拖動(dòng)到合適處后釋放鼠標(biāo),則在鼠標(biāo)的拖動(dòng)起點(diǎn)與終點(diǎn)之間就出現(xiàn)了一段直線,如圖9.1所示。    單擊直線可選中它,并且在直線的兩端出現(xiàn)兩個(gè)小方塊。將鼠標(biāo)指

2、針移動(dòng)到某個(gè)方塊上,則指針變成一個(gè)十字形,此時(shí)拖動(dòng)鼠標(biāo),可以更改該直線的長(zhǎng)度與方向,如圖9.2所示。也一可以拖動(dòng)鼠標(biāo)來(lái)改變直線的位置。    直線控件的屬性較其他控件要少得多,主要用來(lái)設(shè)置直線的寬度、顏色以及線型等。    只有直線的寬度為1(BorderWidth=1)時(shí),BorderStyle屬性的7個(gè)取值才都有效,否則BorderStyle屬性的取值只有0和6有效。例如,直線的寬度為2時(shí),不能將其設(shè)置為虛線。如圖9.3所示的是各種線型的比較,從上到下,各直線控件的BorderStyle屬性的值依次為16。  

3、  與其他控件不同的是,直線控件沒(méi)有任何事件。因此,在程序運(yùn)行時(shí),它不能響應(yīng)用戶的任何操作。9.1.2 形狀控件使用形狀控件可以方便地在窗體上繪制出矩形、正方形、圓、橢圓、圓角矩形和圓角正方形等5種基本幾何圖形。使用形狀控件的方法與其他控件相同,這里不再贅述。    形狀控件的Shape屬性是它很主要的一個(gè)屬性,該屬性決定了形狀控件所繪制圖形的類(lèi)型。表9.3中列出了Shape屬性的值及含義。    形狀控件也有BorderColor、BorderStyle和BorderWidth屬性,且含義與直線控件相同。在默認(rèn)情況下,使用

4、圖形控件繪制出的圖形的背景是透明的,這是因?yàn)樵谀J(rèn)情況下BackStyle屬性的值為0透明).將該屬性的值設(shè)置為l.即可在BaekColor屬性中指定圖形的背景顏色。    形狀控件的另一個(gè)重要屬性是Fi1lStyle屬性,該屬性用來(lái)決定圖形的填充樣式,表9.4中列出了它的取值及含義。    如果圖形的填充樣式不是透明的,即Fi1lStyle屬性的值不為l.則可以通過(guò)Fi1lColor屬性設(shè)置圖形的填充顏色。    圖形的各種填充效果,從左到右各圖形的Fil1StyIe屬性的值依次為07。運(yùn)行該程序,窗體

5、如圖9.7所示。單擊【形狀】設(shè)置區(qū)中的某單選按鈕,則右邊的圖形就會(huì)變成所選的形狀,單擊【填充】設(shè)置區(qū)巾的某單選按鈕,則圖形就會(huì)以所選的樣式填充。    如圖9.8所示的是選中【橢圓】與【對(duì)角交叉線】單選按鈕后的效果。9.2 坐標(biāo)系統(tǒng)在VB中,控件放置在窗體或圖片框等對(duì)象中,而窗體又放置在屏幕對(duì)象中,這些能夠放置其他對(duì)象的對(duì)象稱(chēng)為容器,如窗體、圖片框與屏幕都是容器。    每個(gè)容器都有一個(gè)坐標(biāo)系統(tǒng),以便為對(duì)象的定位提供參考。容器坐標(biāo)系統(tǒng)的默認(rèn)設(shè)置是:容器的左上角為坐標(biāo)的原點(diǎn)。橫向向右為K軸的正方向,縱向向下為Y軸的正方向。如圖9.9所示

6、的是窗體對(duì)象的默認(rèn)坐標(biāo)系統(tǒng)。    坐標(biāo)的度量單位由容器對(duì)象的ScaleMode屬性決定,ScaleMode屬性的值與對(duì)應(yīng)的度量單位如表9.6所示。    對(duì)象的Left和Top屬性決定了該對(duì)象左上角在容器內(nèi)的坐標(biāo),Width和Height屬性決定了對(duì)象的大小,它們的單位總是與容器的度量單位相同。如果改變了容器的度量單位,則這4個(gè)屬性的值都會(huì)發(fā)生相應(yīng)的變化,以適應(yīng)新的坐標(biāo)系統(tǒng),對(duì)象的實(shí)際大小與位置并不會(huì)改變。    使用默認(rèn)的坐標(biāo)系統(tǒng)有時(shí)很不方便,用戶可以根據(jù)具體的需要重新定義容器的坐標(biāo)系統(tǒng)。 

7、   屬性ScaleWidth和ScaleHeight的值分別用來(lái)設(shè)置容器坐標(biāo)系x軸與Y軸的正方向及最大坐標(biāo)值。X軸的度量單位為容器當(dāng)前寬度的1/ScaleWidth、Y軸的度量單位為對(duì)象當(dāng)前寬度的1/ScaleHeight。如果ScaleWidth的值小于0,則x軸的正向向上;如果ScaleHeight的值小于0,則Y軸的正向向上。屬性ScaleTop與ScaleLeft的值用來(lái)設(shè)置容器左上角的坐標(biāo)。例如,將窗體的坐標(biāo)屬性設(shè)置為如表9.7所示,則對(duì)應(yīng)的窗體坐標(biāo)系統(tǒng)如圖9.10所示,坐標(biāo)原點(diǎn)定位在窗體的中點(diǎn)。    如果將窗體的坐標(biāo)屬性設(shè)置為如

8、表9.8所示,則對(duì)應(yīng)的窗體坐標(biāo)系統(tǒng)如圖9.11所示,坐標(biāo)原點(diǎn)定位在窗體的左下角,同時(shí)Y軸的正方向向上,這是符合人們習(xí)慣的一種坐標(biāo)系統(tǒng)。    自定義坐標(biāo)系統(tǒng)最簡(jiǎn)單的方法是使用Sacle方法,其語(yǔ)法如下:    對(duì)象.Scale(xl,y1),(x2,y2)    其中對(duì)象可以是窗體或圖片框,參數(shù)(x1,y1)用來(lái)定義對(duì)象左上角的坐標(biāo)值,參數(shù)(x2,y2)用來(lái)定義對(duì)象右下角的坐標(biāo)值。    例如,如圖9.50所示的坐標(biāo)系統(tǒng)可以使用如下語(yǔ)句來(lái)定義:  

9、0; Scale(-50,-50),(50,50)    圖9.11所示的坐標(biāo)系統(tǒng)可以使用如下語(yǔ)句來(lái)定義:    Scale(0,100),(100,0)9.3 繪圖屬性在對(duì)象(窗體或圖片框)上繪制圖形時(shí),還需要設(shè)置對(duì)象的繪圖屬性以確定所繪制圖形的特征,例如所畫(huà)線的寬度以及圖形的填充樣式等。    1.與CurrentX與CurrentY。    屬性使用Print方法在窗體或圖片框中顯示文本時(shí),文本總是出現(xiàn)在當(dāng)前坐標(biāo)處。例如,在默認(rèn)情況下,第一次使用Print方法輸出的文本

10、顯示在窗體的左上角。通過(guò)CurrentX與CurxentY屬性可以指定當(dāng)前坐標(biāo),這兩個(gè)屬性在設(shè)計(jì)時(shí)不可用。    例如:  Private Sub Form_Click() Scale(0,100)-(100,0) "自定義坐標(biāo)系統(tǒng) For i=10 To 80 Step 10Currenty = i "指定當(dāng)前坐標(biāo)Currenty = i Print “清華大學(xué)” NextEnd Sub    運(yùn)行該程序,文本在窗體上的顯示效果如圖9.12所示,如果在代碼中不使用CurrentX與CurrentY屬性指

11、定當(dāng)前坐標(biāo),則窗體上文本的顯示效果如圖9.13所示。2.AutoRedraw屬性。    如果AutoRedraw屬性的值為T(mén)rue,則所繪制的圖形是持久的。即當(dāng)窗體被隱藏到其他窗口之后或調(diào)整了大小,使用Print方法顯示的文本或使用圖形方法繪制的圖形都將重新顯示。    如果AutoRedraw屬性的值為False,則所繪制的圖形是臨時(shí)的。當(dāng)窗體被隱藏到其他窗口之后或調(diào)整了大小,窗體上的文本或圖形將被掩蓋掉。例如,圖9.14中(a)圖所示的是在窗體上正常顯示的圖形和文本,(b)圖所示的是將另外一個(gè)窗體移動(dòng)到該窗體上,然后再移走后的效

12、果,可見(jiàn),被另一窗體掩蓋部分的圖形和文本消失了。    AutoRedraw屬性的默認(rèn)值為False,在使用Print方法或圖形方法時(shí),最好將該屬性的值設(shè)置為T(mén)ure。3.其他繪圖屬性。    表9.9中列出了窗體與圖片框控件的其他繪圖屬性。9.4 定義顏色在VB中,顏色是以十六進(jìn)制數(shù)表示的。例如,在【屬性】窗口中設(shè)置BackColor與ForeColor等顏色屬性時(shí),出現(xiàn)的值總是一個(gè)十六進(jìn)制數(shù)。以十六進(jìn)制數(shù)來(lái)設(shè)置顏色既不方便也不直觀,一般用戶很難看出顏色與十六進(jìn)制數(shù)的對(duì)應(yīng)關(guān)系。為此,VB提供了一些顏色常數(shù)和顏色函數(shù),使用它們可以方便

13、直觀地設(shè)置出想要的顏色。    1.顏色常量。    如果程序中只需要使用8種基本顏色,則使用VB提供的顏色常量即可達(dá)到目的。這些常量所代表的顏色可以從它們的名字上看出。表9.11所示的是8種基本顏色與顏色常量的對(duì)應(yīng)關(guān)系。    例如,要將窗體(名稱(chēng)為Form1)的背景色設(shè)置為紅色,可以使用如下語(yǔ)句:    Form1.BackColor=&HFF.    也可以使用顏色常數(shù)來(lái)設(shè)置,語(yǔ)句如下:    Form

14、.BackColor= VblRed2.QBColor函數(shù)    使用QBColor函數(shù)可以設(shè)置16種顏色,語(yǔ)法如下:    QBColor(Color)    參數(shù)Color是一個(gè)015的整數(shù),每個(gè)整數(shù)代表一種顏色,表9.12中列出了該參數(shù)的取值與對(duì)應(yīng)的顏色。    例如,下列語(yǔ)句的含義也是將窗體的背景色設(shè)置為紅色。    Forml.BackColor=QBColor(4)    3.RGB函數(shù)。 &#

15、160;  使用顏色常量和QBColor函數(shù)只能指定一些基本的顏色,而使用RGB函數(shù)則可以指定幾乎所有的顏色。RGB函數(shù)是通過(guò)指定紅(Red)、綠(Green)、藍(lán)(Blue)三原色的值來(lái)定義顏色的,其語(yǔ)法為:    RGB(紅、綠、藍(lán))。紅、綠、藍(lán)三原色的值均為0255之間的整數(shù),顏色值的不同組合將產(chǎn)生不同的顏色,從理論上講,三原色混合可以產(chǎn)生256×256×256種顏色。表9.13中列出了基本顏色與對(duì)應(yīng)的RGB函數(shù)。    例如,使用RGB函數(shù)設(shè)置窗體背景色為紅色的語(yǔ)句為:  &#

16、160; Forml.BackColor= RGB(255,0,0)    實(shí)際上,對(duì)于顏色的十六進(jìn)制數(shù),每?jī)晌灰唤M代表一種原色的顏色值,最低兩位為紅色的值,其次是綠色和藍(lán)色的值。例如,十六進(jìn)制數(shù)&HOOFFOOFF對(duì)應(yīng)RGB(255,0,255),因此,它表示的顏色為洋紅色。9.5 圖形方法圖形方法是指窗體或圖片框控件用于繪圖的方法,其中包括Line方法、Circle方法、Pset方法以及PaintPicture方法等。使用這些方法可以繪制出直線、矩形、圓、橢圓、弧線、扇形、點(diǎn)以及各種曲線。    Line方法用于繪制直線或

17、矩形,其語(yǔ)法格式如下:    對(duì)象.LineStep(xl,y1)1-Step(x2,y2),顏色,BF.    對(duì)象可以是窗體或圖片框控件,其中各參數(shù)的含義如下:    Step:該參數(shù)是可選的,如果使用該參數(shù),則表示起點(diǎn)坐標(biāo)(x1, y1)或終點(diǎn)坐標(biāo)(x2, y2)是相對(duì)當(dāng)前點(diǎn)(CurrentX,CurrentY)的,而不是相對(duì)坐標(biāo)原點(diǎn)的。    (x1,y1):用于指定直線的起點(diǎn),也是可選的,如果省略則起點(diǎn)為當(dāng)前點(diǎn)(CurrentX,CuxrerttY)。 &

18、#160;  (x2, y2)用于指定直線的終點(diǎn)。    顏色:可選的。用于指定所繪制的圖形的顏色,可以使用RGB函數(shù)或QBColor參數(shù)指定顏色。如果省略,則使用對(duì)象(窗體或圖片框)當(dāng)前的ForeColor屬性指定的顏色。    B:可選的。如果使用該參數(shù),則繪制出的是矩形。其中(x1,y1)是指矩形左。上項(xiàng)點(diǎn)的坐標(biāo),(x2,y2)是指矩形右下頂點(diǎn)的坐標(biāo)。    F:可選的。只有使用了參數(shù)B后才能使用該參數(shù)。如果使用該參數(shù)則矩形以指定的顏色填充;省略F時(shí),矩形以對(duì)象當(dāng)前的FiilColor與F

19、i1lStyle屬性的設(shè)置填充。實(shí)例9.3使用Line方法。    使用Line方法繪制一個(gè)柱狀圖表,每個(gè)柱的填充顏色與樣式都不同,并且在柱的正上方標(biāo)有柱的長(zhǎng)度,如圖9.15所示。    程序代碼如下:  Private Sub Form_Resize() Const x0=15 Const y0=20Cls Scale (0,100)-(100,0) 自定義坐標(biāo)系統(tǒng) Line (x0,y0)-(x0,90) 繪制Y軸 Line (x0,y0)-(90,yo) 繪制x軸 For i=10 To 70 Step 10 Fill

20、Style=i/10 設(shè)置填充樣式FillStyle=QBColor(i / 10 - 1) 設(shè)置填充顏色 Line(x0 + i,y0+i)-(x0+i+6,yo), , B 繪制矩形CurrentX=x0+i-1CueeentY=y0+i+8 Print NextEnd Sub    在該段代碼中,常量x0和y0是柱狀圖表的坐標(biāo)原點(diǎn),定義這兩個(gè)常量的好處在于;只要改變這兩個(gè)常量的值,即可確定圖表在窗體中的位置。例如,將x0與y0的值分別設(shè)置為15和20,則圖表在窗體中的位置如圖9.16所示。改變窗體的大小后,圖表會(huì)隨著窗體的大小自動(dòng)縮放,如圖9.17所示。&#

21、160;   實(shí)例9.3產(chǎn)生漸變背景。    許多Windows應(yīng)用程序的安裝界面,是以一個(gè)顏色由藍(lán)至黑的漸變窗體為背景的。使用VB產(chǎn)生窗體背景色的漸變效果很簡(jiǎn)單,基本思想是:在窗體中從上至下依次繪制多個(gè)矩形,只要有足夠多的矩形,同時(shí)使它們的填充色從藍(lán)變化到黑,就能很好地模擬出漸變效果了。代碼如下:  Prinvate Sub Gradient(TheObject As Object,Redval,Greenval,Blueval) Dim Step,i,T,L,R,B Step=(TheObject.Height/60) T=0 L

22、=0 R=TheObject.width B=T+Step For i=1 To 60TheObject.Line(L,T)-(R,B),RGB(Redval,Greenval,Blueval),BFRedval = Readval - 4Greenval = Greenval - 4Blueval=Blueval-4 If Readval <=0 Then Readval =0 If Greenval<=0 Then Greenval=0 If Blueval <=0 Then Blueval =0 T=B B=B+Step NextEnd SubPrivate Sub F

23、orm_Resize() Gradient Forml,0,0,255End Sub      首先定義了一個(gè)名為Gradient的子過(guò)程,在該子過(guò)程中,使用了For循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)在窗體中從上至下依次繪制60個(gè)矩形,其中的Line方法是用來(lái)繪制矩形的,變量L與T為矩形左上頂點(diǎn)的坐標(biāo),R與B為矩形右下頂點(diǎn)的坐標(biāo),變量Redval, Greenval, Blueval分別表示紅、綠、藍(lán)三原色的值。    在窗體的Resize事件中,以參數(shù)Fvrrnl(窗體名)和顏色值(0,0,255)調(diào)用子過(guò)程Gradient,運(yùn)行程

24、序后,即可看到窗體具有由藍(lán)至黑的漸變背景。若以其他顏色值調(diào)用該函數(shù),則可得到其他顏色的漸變背景。改變窗體的大小,漸變色會(huì)隨著充滿整個(gè)窗體(要將窗體的AutoRedraw屬性設(shè)置為T(mén)rue)。9.5 圖形方法圖形方法是指窗體或圖片框控件用于繪圖的方法,其中包括Line方法、Circle方法、Pset方法以及PaintPicture方法等。使用這些方法可以繪制出直線、矩形、圓、橢圓、弧線、扇形、點(diǎn)以及各種曲線。    Line方法用于繪制直線或矩形,其語(yǔ)法格式如下:    對(duì)象.LineStep(xl,y1)1-Step(x2,y2),顏

25、色,BF.    對(duì)象可以是窗體或圖片框控件,其中各參數(shù)的含義如下:    Step:該參數(shù)是可選的,如果使用該參數(shù),則表示起點(diǎn)坐標(biāo)(x1, y1)或終點(diǎn)坐標(biāo)(x2, y2)是相對(duì)當(dāng)前點(diǎn)(CurrentX,CurrentY)的,而不是相對(duì)坐標(biāo)原點(diǎn)的。    (x1,y1):用于指定直線的起點(diǎn),也是可選的,如果省略則起點(diǎn)為當(dāng)前點(diǎn)(CurrentX,CuxrerttY)。    (x2, y2)用于指定直線的終點(diǎn)。    顏色:可選的。用于指定所繪制

26、的圖形的顏色,可以使用RGB函數(shù)或QBColor參數(shù)指定顏色。如果省略,則使用對(duì)象(窗體或圖片框)當(dāng)前的ForeColor屬性指定的顏色。    B:可選的。如果使用該參數(shù),則繪制出的是矩形。其中(x1,y1)是指矩形左。上項(xiàng)點(diǎn)的坐標(biāo),(x2,y2)是指矩形右下頂點(diǎn)的坐標(biāo)。    F:可選的。只有使用了參數(shù)B后才能使用該參數(shù)。如果使用該參數(shù)則矩形以指定的顏色填充;省略F時(shí),矩形以對(duì)象當(dāng)前的FiilColor與Fi1lStyle屬性的設(shè)置填充。實(shí)例9.3使用Line方法。    使用Line方法繪制一個(gè)柱狀

27、圖表,每個(gè)柱的填充顏色與樣式都不同,并且在柱的正上方標(biāo)有柱的長(zhǎng)度,如圖9.15所示。    程序代碼如下:  Private Sub Form_Resize() Const x0=15 Const y0=20Cls Scale (0,100)-(100,0) 自定義坐標(biāo)系統(tǒng) Line (x0,y0)-(x0,90) 繪制Y軸 Line (x0,y0)-(90,yo) 繪制x軸 For i=10 To 70 Step 10 FillStyle=i/10 設(shè)置填充樣式FillStyle=QBColor(i / 10 - 1) 設(shè)置填充顏色 Line(x0 +

28、 i,y0+i)-(x0+i+6,yo), , B 繪制矩形CurrentX=x0+i-1CueeentY=y0+i+8 Print NextEnd Sub    在該段代碼中,常量x0和y0是柱狀圖表的坐標(biāo)原點(diǎn),定義這兩個(gè)常量的好處在于;只要改變這兩個(gè)常量的值,即可確定圖表在窗體中的位置。例如,將x0與y0的值分別設(shè)置為15和20,則圖表在窗體中的位置如圖9.16所示。改變窗體的大小后,圖表會(huì)隨著窗體的大小自動(dòng)縮放,如圖9.17所示。    實(shí)例9.3產(chǎn)生漸變背景。    許多Windows應(yīng)用程序的安

29、裝界面,是以一個(gè)顏色由藍(lán)至黑的漸變窗體為背景的。使用VB產(chǎn)生窗體背景色的漸變效果很簡(jiǎn)單,基本思想是:在窗體中從上至下依次繪制多個(gè)矩形,只要有足夠多的矩形,同時(shí)使它們的填充色從藍(lán)變化到黑,就能很好地模擬出漸變效果了。代碼如下:  Prinvate Sub Gradient(TheObject As Object,Redval,Greenval,Blueval) Dim Step,i,T,L,R,B Step=(TheObject.Height/60) T=0 L=0 R=TheObject.width B=T+Step For i=1 To 60TheObject.Line(L,T)-

30、(R,B),RGB(Redval,Greenval,Blueval),BFRedval = Readval - 4Greenval = Greenval - 4Blueval=Blueval-4 If Readval <=0 Then Readval =0 If Greenval<=0 Then Greenval=0 If Blueval <=0 Then Blueval =0 T=B B=B+Step NextEnd SubPrivate Sub Form_Resize() Gradient Forml,0,0,255End Sub   

31、60;  首先定義了一個(gè)名為Gradient的子過(guò)程,在該子過(guò)程中,使用了For循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)在窗體中從上至下依次繪制60個(gè)矩形,其中的Line方法是用來(lái)繪制矩形的,變量L與T為矩形左上頂點(diǎn)的坐標(biāo),R與B為矩形右下頂點(diǎn)的坐標(biāo),變量Redval, Greenval, Blueval分別表示紅、綠、藍(lán)三原色的值。    在窗體的Resize事件中,以參數(shù)Fvrrnl(窗體名)和顏色值(0,0,255)調(diào)用子過(guò)程Gradient,運(yùn)行程序后,即可看到窗體具有由藍(lán)至黑的漸變背景。若以其他顏色值調(diào)用該函數(shù),則可得到其他顏色的漸變背景。改變窗體的大小,漸變色會(huì)隨著充

32、滿整個(gè)窗體(要將窗體的AutoRedraw屬性設(shè)置為T(mén)rue)。9.5.2 Circle方法Circle方法用于繪制圓、橢圓、扇形或弧,其語(yǔ)法格式如下:    對(duì)象。CircleStep(x,y),半徑,顏色,起始角,終止角了長(zhǎng)短軸比率.    對(duì)象可以是窗體或圖片框控件,其中各參數(shù)的含義如下:    Step:該參數(shù)是可選的,如果使用該參數(shù),則表示圓心坐標(biāo)(x,y)是相對(duì)當(dāng)前點(diǎn)(CurrentX,CurrentY)的,而不是相對(duì)坐標(biāo)原點(diǎn)的。    (x,y):用于指定圓的圓

33、心,也是可選的,如果省略則圓心為當(dāng)前點(diǎn)(CurrentX,GurrentY)。    半徑:用于指定圓的半徑,對(duì)于橢圓來(lái)講,該值是橢圓的長(zhǎng)軸長(zhǎng)度。    顏色:指定所繪制圖形的顏色。    起始角、終止角:用來(lái)指定圓弧或扇形的起始角度與終止角度,單位為弧度。取值范圍為02時(shí),繪制的是圓弧:給起始角與終止角取值前添加一個(gè)負(fù)號(hào),則所繪制的是扇形,負(fù)號(hào)表示繪制圓心到圓弧的徑向線。省略這兩個(gè)參數(shù),則所繪制的是圓或橢圓。    VB規(guī)定,從起始角按逆時(shí)針?lè)较蚶L制圓弧只到終止角處,水平向

34、右方向?yàn)?度,且與坐標(biāo)系統(tǒng)無(wú)關(guān),如圖9.18所示。    長(zhǎng)短軸比率:當(dāng)需要繪制橢圓時(shí),可使用該參數(shù)指定橢圓長(zhǎng)短軸的比率。若值大于1,則所繪制的是豎立的橢圓;若值小于1,則所繪制的是扁平的橢圓。該值的缺省值為1,即省略時(shí)繪制的是圓。例如,使用下列語(yǔ)句繪制出的各種圖形如圖9.19所示。  Const pi=3.1415926Private Sub Form_Click() Scale (-100,100)-(100,-100) Circle(-50,50),30 Circle(50,50),30,vbRed,2 Circle(50,50),30,vbRed

35、,0.5 Circle(-50,-50),30,vbBlue,pi/6,1.5*pi Circle(50,-50),30,vbYellow,-pi/6,-5/6*piEnd Sub實(shí)例9.4繪制太極圖    使用Circle方法繪制出如圖9.20所示的太極圖。    代碼如下:  Const pi=3.1415926Sub Tjt(x,y,r)FillStyle=1 Circle(x,y),r 繪制大圓 Circle(x,y-r/2),r/2,pi/2,1.5*pi 繪制弧線 Circle(x,y+r/2),r/2,1.5/

36、pi,pi*2FillColor=vbBlackFillStyle=0Cricle(x,y+r/2),r/5 繪制小圓 Circle (x,y-r/2),r/5End SubPrivate Sub Form_Click()Tjt 3000,1500,1000Tjt 1000,2500,500Tij 1000,1000,400End Sub     首先定義了一個(gè)名為T(mén)jt的子過(guò)程,形參x和Y為太極圖的圓心,r為半徑。在窗體的Click事件過(guò)程中以不同的參數(shù)調(diào)用Tjt子過(guò)程,運(yùn)行程序,單擊窗體后就會(huì)在窗體的不同位置繪制出大小不同的太極圖。9.5.3 Pset與Pin

37、t方法Pset方法用于畫(huà)點(diǎn),其語(yǔ)法格式如下:    對(duì)象.Pset Step(x,y),顏色    參數(shù)(x,y)為所畫(huà)點(diǎn)的坐標(biāo),其他各參數(shù)的含義與Line方法相同。    使用Pset方法可以繪制出任何曲線,如圖9.21所示的正弦曲線就是使用Pset方法繪制的。    代碼如下:  Private Sub Form_Click() Scale(-10,10)-(10,-10) 定義坐標(biāo)系統(tǒng) Line(-10,0)-(10,0) 繪制X軸 Line(0,-10)-(

38、0,10) 繪制Y軸CurrentX=0.5CurrentY=10 Print“Y” Current=9.5 Current=-0.5 Print“X” For X=-8 To 8 Step 0.01 y=5*sin(x) 繪制正曲線 NextEnd SubPoint方法用來(lái)返回指定點(diǎn)的顏色,其語(yǔ)法格式如下:    對(duì)象,Point(x,y)。    其中參數(shù)(x,y)是要獲取顏色的點(diǎn)的坐標(biāo)。    Point方法返回的是一個(gè)像素的顏色值,可以使用下列代碼從該顏色值中取出三原色的值,分別存放在三個(gè)變量中,其中R代表紅色,G代表綠色,B代表藍(lán)色。    P=Picture.Piont(x,y)    R=Mod 256    G=(p And &HFF00FF00)/256    B=(p And &HFF0000)/65536    Piont方法和Pset方法配合使用,可以對(duì)圖像進(jìn)行多種處理,如柔化、銳化以及變色等。限于篇幅,這里不詳細(xì)介紹

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論