




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第九章 圖形程序設(shè)計(jì)9.1 圖形控件圖形控件包括圖片框控件、圖像框控件、直線控件和形狀控件4種,其中圖片框和圖像框是用來放置圖片的,在第5章中已經(jīng)介紹過,本節(jié)介紹另外兩種圖形控件。直線控件 直線控件用來創(chuàng)建直線。它的使用方法與其他控件相同,在工具箱中單擊直線控件圖標(biāo),將鼠標(biāo)移動(dòng)到窗體上,在所需位置開始拖動(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),可以更改該直線的長度與方向,如圖9.2所示。也一可以拖動(dòng)鼠標(biāo)來改變直線的位置。 直線控件的屬性較其他控件要少得多,主要用來設(shè)置直線的寬度、顏色以及線型等。 只有直線的寬度為1(BorderWidth=1)時(shí),BorderStyle屬性的7個(gè)取值才都有效,否則BorderStyle屬性的取值只有0和6有效。例如,直線的寬度為2時(shí),不能將其設(shè)置為虛線。如圖9.3所示的是各種線型的比較,從上到下,各直線控件的BorderStyle屬性的值依次為16。
3、 與其他控件不同的是,直線控件沒有任何事件。因此,在程序運(yùn)行時(shí),它不能響應(yīng)用戶的任何操作。9.1.2 形狀控件使用形狀控件可以方便地在窗體上繪制出矩形、正方形、圓、橢圓、圓角矩形和圓角正方形等5種基本幾何圖形。使用形狀控件的方法與其他控件相同,這里不再贅述。 形狀控件的Shape屬性是它很主要的一個(gè)屬性,該屬性決定了形狀控件所繪制圖形的類型。表9.3中列出了Shape屬性的值及含義。 形狀控件也有BorderColor、BorderStyle和BorderWidth屬性,且含義與直線控件相同。在默認(rèn)情況下,使用
4、圖形控件繪制出的圖形的背景是透明的,這是因?yàn)樵谀J(rèn)情況下BackStyle屬性的值為0透明).將該屬性的值設(shè)置為l.即可在BaekColor屬性中指定圖形的背景顏色。 形狀控件的另一個(gè)重要屬性是Fi1lStyle屬性,該屬性用來決定圖形的填充樣式,表9.4中列出了它的取值及含義。 如果圖形的填充樣式不是透明的,即Fi1lStyle屬性的值不為l.則可以通過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ì)象稱為容器,如窗體、圖片框與屏幕都是容器。 每個(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的值分別用來設(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的值用來設(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)最簡單的方法是使用Sacle方法,其語法如下: 對(duì)象.Scale(xl,y1),(x2,y2) 其中對(duì)象可以是窗體或圖片框,參數(shù)(x1,y1)用來定義對(duì)象左上角的坐標(biāo)值,參數(shù)(x2,y2)用來定義對(duì)象右下角的坐標(biāo)值。 例如,如圖9.50所示的坐標(biāo)系統(tǒng)可以使用如下語句來定義:
9、0; Scale(-50,-50),(50,50) 圖9.11所示的坐標(biāo)系統(tǒng)可以使用如下語句來定義: Scale(0,100),(100,0)9.3 繪圖屬性在對(duì)象(窗體或圖片框)上繪制圖形時(shí),還需要設(shè)置對(duì)象的繪圖屬性以確定所繪制圖形的特征,例如所畫線的寬度以及圖形的填充樣式等。 1.與CurrentX與CurrentY。 屬性使用Print方法在窗體或圖片框中顯示文本時(shí),文本總是出現(xiàn)在當(dāng)前坐標(biāo)處。例如,在默認(rèn)情況下,第一次使用Print方法輸出的文本
10、顯示在窗體的左上角。通過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屬性的值為True,則所繪制的圖形是持久的。即當(dāng)窗體被隱藏到其他窗口之后或調(diào)整了大小,使用Print方法顯示的文本或使用圖形方法繪制的圖形都將重新顯示。 如果AutoRedraw屬性的值為False,則所繪制的圖形是臨時(shí)的。當(dāng)窗體被隱藏到其他窗口之后或調(diào)整了大小,窗體上的文本或圖形將被掩蓋掉。例如,圖9.14中(a)圖所示的是在窗體上正常顯示的圖形和文本,(b)圖所示的是將另外一個(gè)窗體移動(dòng)到該窗體上,然后再移走后的效
12、果,可見,被另一窗體掩蓋部分的圖形和文本消失了。 AutoRedraw屬性的默認(rèn)值為False,在使用Print方法或圖形方法時(shí),最好將該屬性的值設(shè)置為Ture。3.其他繪圖屬性。 表9.9中列出了窗體與圖片框控件的其他繪圖屬性。9.4 定義顏色在VB中,顏色是以十六進(jìn)制數(shù)表示的。例如,在【屬性】窗口中設(shè)置BackColor與ForeColor等顏色屬性時(shí),出現(xiàn)的值總是一個(gè)十六進(jìn)制數(shù)。以十六進(jìn)制數(shù)來設(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)系。 例如,要將窗體(名稱為Form1)的背景色設(shè)置為紅色,可以使用如下語句: Form1.BackColor=&HFF. 也可以使用顏色常數(shù)來設(shè)置,語句如下: Form
14、.BackColor= VblRed2.QBColor函數(shù) 使用QBColor函數(shù)可以設(shè)置16種顏色,語法如下: QBColor(Color) 參數(shù)Color是一個(gè)015的整數(shù),每個(gè)整數(shù)代表一種顏色,表9.12中列出了該參數(shù)的取值與對(duì)應(yīng)的顏色。 例如,下列語句的含義也是將窗體的背景色設(shè)置為紅色。 Forml.BackColor=QBColor(4) 3.RGB函數(shù)。
15、160; 使用顏色常量和QBColor函數(shù)只能指定一些基本的顏色,而使用RGB函數(shù)則可以指定幾乎所有的顏色。RGB函數(shù)是通過指定紅(Red)、綠(Green)、藍(lán)(Blue)三原色的值來定義顏色的,其語法為: RGB(紅、綠、藍(lán))。紅、綠、藍(lán)三原色的值均為0255之間的整數(shù),顏色值的不同組合將產(chǎn)生不同的顏色,從理論上講,三原色混合可以產(chǎn)生256×256×256種顏色。表9.13中列出了基本顏色與對(duì)應(yīng)的RGB函數(shù)。 例如,使用RGB函數(shù)設(shè)置窗體背景色為紅色的語句為:
16、160; Forml.BackColor= RGB(255,0,0) 實(shí)際上,對(duì)于顏色的十六進(jìn)制數(shù),每兩位一組代表一種原色的顏色值,最低兩位為紅色的值,其次是綠色和藍(lán)色的值。例如,十六進(jìn)制數(shù)&HOOFFOOFF對(duì)應(yīng)RGB(255,0,255),因此,它表示的顏色為洋紅色。9.5 圖形方法圖形方法是指窗體或圖片框控件用于繪圖的方法,其中包括Line方法、Circle方法、Pset方法以及PaintPicture方法等。使用這些方法可以繪制出直線、矩形、圓、橢圓、弧線、扇形、點(diǎn)以及各種曲線。 Line方法用于繪制直線或
17、矩形,其語法格式如下: 對(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)有柱的長度,如圖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)生窗體背景色的漸變效果很簡單,基本思想是:在窗體中從上至下依次繪制多個(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的子過程,在該子過程中,使用了For循環(huán)語句來實(shí)現(xiàn)在窗體中從上至下依次繪制60個(gè)矩形,其中的Line方法是用來繪制矩形的,變量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)用子過程Gradient,運(yùn)行程
24、序后,即可看到窗體具有由藍(lán)至黑的漸變背景。若以其他顏色值調(diào)用該函數(shù),則可得到其他顏色的漸變背景。改變窗體的大小,漸變色會(huì)隨著充滿整個(gè)窗體(要將窗體的AutoRedraw屬性設(shè)置為True)。9.5 圖形方法圖形方法是指窗體或圖片框控件用于繪圖的方法,其中包括Line方法、Circle方法、Pset方法以及PaintPicture方法等。使用這些方法可以繪制出直線、矩形、圓、橢圓、弧線、扇形、點(diǎn)以及各種曲線。 Line方法用于繪制直線或矩形,其語法格式如下: 對(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)有柱的長度,如圖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)生窗體背景色的漸變效果很簡單,基本思想是:在窗體中從上至下依次繪制多個(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的子過程,在該子過程中,使用了For循環(huán)語句來實(shí)現(xiàn)在窗體中從上至下依次繪制60個(gè)矩形,其中的Line方法是用來繪制矩形的,變量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)用子過程Gradient,運(yùn)行程序后,即可看到窗體具有由藍(lán)至黑的漸變背景。若以其他顏色值調(diào)用該函數(shù),則可得到其他顏色的漸變背景。改變窗體的大小,漸變色會(huì)隨著充
32、滿整個(gè)窗體(要將窗體的AutoRedraw屬性設(shè)置為True)。9.5.2 Circle方法Circle方法用于繪制圓、橢圓、扇形或弧,其語法格式如下: 對(duì)象。CircleStep(x,y),半徑,顏色,起始角,終止角了長短軸比率. 對(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ì)于橢圓來講,該值是橢圓的長軸長度。 顏色:指定所繪制圖形的顏色。 起始角、終止角:用來指定圓弧或扇形的起始角度與終止角度,單位為弧度。取值范圍為02時(shí),繪制的是圓?。航o起始角與終止角取值前添加一個(gè)負(fù)號(hào),則所繪制的是扇形,負(fù)號(hào)表示繪制圓心到圓弧的徑向線。省略這兩個(gè)參數(shù),則所繪制的是圓或橢圓。 VB規(guī)定,從起始角按逆時(shí)針方向繪制圓弧只到終止角處,水平向
34、右方向?yàn)?度,且與坐標(biāo)系統(tǒng)無關(guān),如圖9.18所示。 長短軸比率:當(dāng)需要繪制橢圓時(shí),可使用該參數(shù)指定橢圓長短軸的比率。若值大于1,則所繪制的是豎立的橢圓;若值小于1,則所繪制的是扁平的橢圓。該值的缺省值為1,即省略時(shí)繪制的是圓。例如,使用下列語句繪制出的各種圖形如圖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è)名為Tjt的子過程,形參x和Y為太極圖的圓心,r為半徑。在窗體的Click事件過程中以不同的參數(shù)調(diào)用Tjt子過程,運(yùn)行程序,單擊窗體后就會(huì)在窗體的不同位置繪制出大小不同的太極圖。9.5.3 Pset與Pin
37、t方法Pset方法用于畫點(diǎn),其語法格式如下: 對(duì)象.Pset Step(x,y),顏色 參數(shù)(x,y)為所畫點(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方法用來返回指定點(diǎn)的顏色,其語法格式如下: 對(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中華民族的傳統(tǒng)價(jià)值觀試題及答案
- 氣候演變中的大洋環(huán)流與海氣相互作用課件
- 酒店管理與服務(wù)課件
- 行政管理判斷與思維試題及答案
- 考古知識(shí)與應(yīng)試策略結(jié)合2025年執(zhí)業(yè)醫(yī)師考試試題及答案
- 比賽課件護(hù)理
- 礦井電氣設(shè)備的防爆檢測(cè)與維護(hù)(參賽課件)
- 證婚人經(jīng)典致辭(15篇)
- 自考行政管理數(shù)據(jù)隱私試題及答案
- 醫(yī)院文化對(duì)改善醫(yī)患關(guān)系的影響研究
- 2025廣東二模語文(含答案)
- 消渴腎病的中醫(yī)護(hù)理方案
- 《高壓輸電線路巡檢維護(hù)合同》
- 《中國古典文學(xué)中的詠魚詩與生態(tài)文化》論文
- 商品混凝土管理制度
- 輕鋼龍骨隔墻施工方案
- 2025年浙江溫州市公用事業(yè)發(fā)展集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2025年天津市武清區(qū)國資產(chǎn)經(jīng)營投資限公司面向社會(huì)公開選聘工作人員高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 業(yè)主大會(huì)申請(qǐng)書
- 2025年八人合伙企業(yè)股權(quán)分配協(xié)議書
- (部編版)語文五年級(jí)上冊(cè)“小古文”閱讀理解訓(xùn)練82篇附參考答案
評(píng)論
0/150
提交評(píng)論