版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、形狀控件和直線控件,1.形狀控件Shape,Shape屬性的值為0-5,分別表示不同的形狀,Shape屬性取不同值對應(yīng)的形狀,形狀控件和直線控件,填充方式 ——FillStyle屬性,FillStyle屬性設(shè)置為0-8時(shí)的填充效果,形狀控件和直線控件,1.BoderStyle屬性BoderStyle,屬性值為0—6,分別表示為以下線型:,2.線控件Line,清屏與畫點(diǎn),1. 清屏[對象.] Cls作用:清除控件中所有的圖形。若省略
2、“對象”,則表示清除窗體。,2. 畫點(diǎn)[對象.] Pset [Step] (x,y) [,顏色]作用:在指定的位置上用指定的顏色畫一個(gè)點(diǎn)。例如, Pset (30,40) ?將在當(dāng)前的窗體上(30,40)處畫一個(gè)點(diǎn),繪圖方法,說明:① x和y是單精度值。缺省時(shí)以Twip為單位。② 顏色取值為1~16777215。缺省時(shí)則將當(dāng)前使用的ForeColor(前景顏色)值作為屬性。③ 每次畫點(diǎn)后,畫筆停留的這個(gè)位置通常稱為當(dāng)
3、前作圖位置。此位置的x坐標(biāo)會自動存在Currentx的屬性中,y坐標(biāo)會自動 放在Currenty的屬性中。例如,Pset (100,100)Print Currentx, Currenty 將在(100,100)處畫一點(diǎn),并輸出100,100。④ 一般情況下,x、y為相對于原點(diǎn)(0,0)的偏移量。如果選擇了Step項(xiàng),則x、y是相對于當(dāng)前作圖位置的偏移量。,繪圖方法,程序舉例:,Sub Form_Click()
4、 Randomize For i=1 To 100 X=Rnd ? Form1.Width Y=Rnd ? Form1.Height Pset(x,y) Next I Print Currentx,Currenty End Sub,繪圖方法,運(yùn)行上述程序后,每單擊一次窗體,將在窗體上隨機(jī)畫出100個(gè)點(diǎn),并輸出最后一點(diǎn)的位置。不過此點(diǎn)因點(diǎn)太小,幾乎看不見。由于
5、每次有100個(gè)點(diǎn)出現(xiàn),而且位置是隨機(jī)的,看上去就像星星閃爍,如圖所示。,,繪圖方法,3.畫直線,1. Line方法 畫直線或矩形:[對象.] Line [ [Step] (x1,y1)]-(x2,y2)[,顏色][,B[F]]功能:從坐標(biāo)(x1,y1)到(x2,y2)畫一條指定顏色的線或矩形。,繪圖方法,B表示畫矩形,F(xiàn)表示用畫矩形的顏色來填充矩形。 關(guān)鍵字Step表示采用當(dāng)前作圖位置的相對值,即從當(dāng)
6、前坐標(biāo)移動相應(yīng)的步長后所得的點(diǎn)為畫線起點(diǎn)。,Sub Form_Click( ) Line– (600,600) Line (600,600)– (200,800) Line– (1700,400) Current x=3900 Current y=200 Line– (4800,2000) End Sub,一般情況下使用于twip坐標(biāo)系統(tǒng)。例:,繪圖方法,繪圖方法,用Line方法畫網(wǎng)格。,
7、Sub Form_Paint( ) Dim i As Integer Cls Scale(0,0)–(8,8) For I=1 To 7 Line(0,I)–(8,I) Line(I,0)–(I,8) Next IEnd Sub,,設(shè)置線型——DrawStyle 屬性,線寬直線的寬度是通過DrawWidth屬性來設(shè)置的,其格式如下:[對象.] DrawWidth[=線寬],下
8、面的程序可顯示出線條寬度的變化。Private Sub Form_click(),Dim I As Integer Pset(scalewidth/2,0) For I=1 to 100 Step 10 DrawWidth=I Line–Step(0,ScaleHeight) Next iEnd Sub 運(yùn)行程序后,窗體上將畫出一條逐漸變粗的線,如圖所示。,繪圖方法,4.矩形,畫直線與畫矩
9、形的語句差不多,只是將畫直線的選擇項(xiàng)“B”變成了必選項(xiàng),而且只能為必選項(xiàng),否則,畫出矩形圖形成為直線。,用圖形填充的格式如下:[對象.]FillStyle=圖案圖案是一整型數(shù),其取值范圍為0~7,共有8種圖案,,繪圖方法,繪圖方法,,繪圖方法,5.畫圓,在Visual Basic中可用Circle方法繪制圓、橢圓、弧線。畫圓的格式如下:[對象.]Circle[step](x,y),半徑[,顏色]功能:以x,y為圓心,用指定的
10、半徑、顏色畫一個(gè)圓。,畫橢圓,畫橢圓的格式如下:[對象.]Circle[Step](x,y),半徑[,顏色],,,[縱橫比],“縱橫比”指的是縱軸(y)與橫軸(x)的點(diǎn)數(shù)之比,它的值為一單精度數(shù)。當(dāng)縱橫比小于1.0時(shí),其格式中的半徑為x,指的是x軸,畫出的圓是扁平狀;當(dāng)縱橫比大于1.0時(shí),指的是y軸,畫出的圓是高而窄狀。,說明:,繪圖方法,繪圖方法,舉例,討論下面一段代碼的運(yùn)行結(jié)果。,Private Sub Form_Click
11、() FillStyle = 0 FillColor = RGB(255, 0, 0) Aspect = 5 x = 900: y = 500 Circle (x * 2, y), 450, , , , Aspect Circle (x * 3, y), 450, , , , Aspect Circle (x * 4, y), 450, , , , Aspect / 2 C
12、ircle (x, y), 450, , , , Aspect / 6 Circle (x * 2, y), 450, , , , Aspect / 9 Circle (x * 3, y), 450, , , , Aspect / 15 End SubEnd Sub,6 畫弧,畫弧格式:[對象.]Circle[Step](x,y),半徑,[,顏色][起始角終止角][,縱橫比],下面代碼運(yùn)行后,得到圖所示的結(jié)果。
13、,例:,繪圖方法,Private Sub Form_Click() Scale(–100,100) – (100,–100) Circle(–78,0),20?畫圓 Circle(–50,0),20, , , ,4?畫立著的橢圓 Circle(–23,0),20, , , , .4?畫躺著的橢圓 Circle(0,0), 10, , .1,1.8?畫弧 Circle(20,0),20, , .2,–1.8
14、?畫一端加徑向線的弧 Circle(50,0),20, ,–.2,–1.8?畫扇形End Sub,,繪圖方法,(1) RGB函數(shù) 混合顏色值=RGB(red, green, blue) 說明: red, green, blue(紅、綠、藍(lán))3種顏色,從0~255之間的一個(gè)亮度值(0表示亮度最低,而255表示亮度最高)。例如:Form1.BackColor = RGB(0, 0, 0) ‘設(shè)定背景為黑色,繪
15、圖方法,表部分常見的RGB值及顏色,繪圖方法,,格式:顏色值=QBColor(color) 說明: 彩色值為0~15的整型數(shù),分別代表16種顏色,見書上表所示。,(2)QBColor函數(shù),繪圖方法,(3)顏色常數(shù) 在VB系統(tǒng)中已經(jīng)預(yù)先定義了常用顏色的顏色常數(shù),如常數(shù)vbBlack就代表黑色,vbBlue代表藍(lán)色等等。。,繪圖方法,(4)、直接使用顏色值 用十六進(jìn)制數(shù)指定顏色的格式為: &HBBGGRR其中,BB指定
16、藍(lán)顏色的值,GG指定綠顏色的值,RR指定紅顏色的值。每個(gè)數(shù)段都是兩位十六進(jìn)制數(shù),即從00~FF。例如, Form1.BackColor = &HFF0000它相當(dāng)于:Form1.BackColor = RGB(0, 0, 255),例如,要將窗體的背景色設(shè)為黑色。則可使用如下語句:Form1.BackColor = vbblack,繪圖方法,,例 編寫程序,在窗體上畫一個(gè)紅圓柱.,,,設(shè)計(jì)思想:利用循環(huán)從上到下畫一系列
17、的橢圓,橢圓的邊框設(shè)定 為紅色,最上面的橢圓畫成實(shí)心的即可.,Private Sub Form _paint() for i=1 to 1000Circle(1900,1700-i),1000,vbRed , , , 3/5Next IMe.Fillstyle=0Me.FillColor=RGB(255,255,255)Circle(1900,700),1000, , , , 3/5En
18、d Sub,繪圖方法,,繪圖方法,【實(shí)例4.7】用畫點(diǎn)(Pset)方法在圖片框中輸出2行直線。程序運(yùn)行時(shí),單擊“畫點(diǎn)線”命令按鈕,在圖片框中輸出2行由彩色點(diǎn)畫得的直線圖案。,Pset、Line和Circle方法,,操作步驟,(1)設(shè)計(jì)用戶界面,,(2)編寫單擊“畫點(diǎn)線”按鈕的代碼,Private Sub cmdDot_Click() picDot.Cls picDot.DrawWidth = 3
19、For i = 1 To 10 x = 100 * i y = 100 dotcolor = Int(Rnd() * 16) picDot.PSet (2 * x, y), QBColor(dotcolor) Next i,,點(diǎn)坐標(biāo),,點(diǎn)顏色,繪圖線寬度,,清空圖片框,picDot.DrawWidth = 6
20、 For i = 1 To 10 x = 100 * i y = 400 dotcolor = Int(Rnd() * 16) picDot.PSet (2 * x, y), QBColor(dotcolor) Next iEnd Sub,,【實(shí)例4.8】用畫直線或畫矩形(Line)的方法,在窗體上畫直線和正方形。程序運(yùn)行時(shí),單擊“畫直線
21、”命令按鈕,在窗體上輸出10條間距相等、長度遞增的線段圖案。單擊“畫矩形”命令按鈕,在窗體上輸出10個(gè)大小相等、對角連接的正方形圖案。,,,,,,,操作步驟,(1)設(shè)計(jì)用戶界面,,(2)編寫“畫直線”命令按鈕的Click事件過程,Private Sub cmdLine_Click() Cls For i = 1 To 10 y = y + 300 Line (500, y)-(500 +
22、i * 300, y), RGB(50, 200, 100) Next i End Sub,,起點(diǎn),,終點(diǎn),首先應(yīng)清除,,(3)編寫“畫矩形”命令按鈕的Click事件過程,Private Sub cmdRect_Click() Cls For i = 1 To 10 a = a + 300 b = a + 3
23、00 Line (a, a)-(b, b), vbBlue, B Next iEnd Sub,畫空心矩形,BF畫實(shí)心矩形,,【實(shí)例4.9】用畫圓(Circle)的方法,在窗體上繪制同心圓與相切圓。程序運(yùn)行時(shí),單擊“同心圓”命令按鈕,在窗體上輸出5個(gè)大小不一、顏色不一的同心圓圖案。單擊“相切圓”命令按鈕,在窗體上輸出一排6個(gè)大小相等、顏色漸變的相切圓圖案。,,操作步驟,(1)設(shè)計(jì)用戶界面,,(2)編寫“同心圓”按
24、鈕的Click事件過程,Private Sub cmdCircle_Click() Cls For i = 1 To 5 r = r + 300 Circle (1600, 1600), r, QBColor(i) Next iEnd Sub,,圓心,半徑,定義畫圓數(shù)量,,(3)編寫“相切圓”按鈕的Click事件過程,Private Sub cmdCir_Click()
25、Cls x = 500 y = 1500 For i = 1 To 6 Circle (x, y), 300, RGB(20 * i, 40 * i, 60 * i) x = x + 600 Next iEnd Sub,畫相切圓,定義起始圓橫坐標(biāo),定義起始圓縱坐標(biāo),改變相切圓的橫向坐標(biāo)位置,,畫圖方法 Pset方法對象名.Pset [Step] (x,y) ,
26、顏色,圓心,Line方法對象名.Line [Step] (x1,y1)- [Step] (x2,y2) , 顏色 , BF,起點(diǎn),終點(diǎn),,空心矩形,,實(shí)心矩形,Circle方法對象名.Circle [Step] (x,y) , 半徑 , 顏色 , 起始角 , 終止角 , 縱橫比,,畫圓弧、扇形,畫橢圓,圓心坐標(biāo),3、與畫圖有關(guān)的常用屬性DrawStyle 線型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論