




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 汕尾一年級(jí)上冊(cè)試卷及答案
- 肇慶市實(shí)驗(yàn)中學(xué)高中歷史二:第四單元中國(guó)社會(huì)主義發(fā)展道路的探索測(cè)驗(yàn)教案
- 《2025年簽訂新員工合同通知書(shū)》
- 浙江國(guó)企招聘2025寧波市鄞州區(qū)區(qū)屬國(guó)企招聘2人筆試參考題庫(kù)附帶答案詳解
- 機(jī)床制造中的環(huán)境保護(hù)措施實(shí)施考核試卷
- 電氣安裝變壓器的選型與安裝考核試卷
- 絹紡與絲織品的在線銷(xiāo)售與數(shù)字營(yíng)銷(xiāo)考核試卷
- 綠化施工安全管理考核試卷
- 電視接收設(shè)備的智能日程管理考核試卷
- 2025年中考數(shù)學(xué)幾何模型綜合訓(xùn)練專(zhuān)題16全等三角形模型之婆羅摩笈多模型解讀與提分精練(教師版)
- 手機(jī)終端采購(gòu)合作協(xié)議書(shū)范本
- 社區(qū)衛(wèi)生服務(wù)中心的運(yùn)營(yíng)與管理策略
- (高清版)DB21∕T 3485-2021 容器檢驗(yàn)檢測(cè)報(bào)告附圖畫(huà)法
- 《應(yīng)收款項(xiàng)減值專(zhuān)題》課件
- 農(nóng)藝師常規(guī)知識(shí)培訓(xùn)課件
- 2025-2030年中國(guó)管理咨詢行業(yè)十三五發(fā)展戰(zhàn)略規(guī)劃及投資前景預(yù)測(cè)報(bào)告
- 孕期產(chǎn)檢流程講解
- 【Flywheel】2024年電商消費(fèi)趨勢(shì)年度報(bào)告
- 第8課 良師相伴 亦師亦友(課件)-【中職專(zhuān)用】高一思想政治《心理健康與職業(yè)生涯》
- 2025山東能源集團(tuán)中級(jí)人才庫(kù)選拔高頻重點(diǎn)提升(共500題)附帶答案詳解
評(píng)論
0/150
提交評(píng)論