第9章 VB圖形操作_第1頁
第9章 VB圖形操作_第2頁
第9章 VB圖形操作_第3頁
第9章 VB圖形操作_第4頁
第9章 VB圖形操作_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

掌握建立圖形坐標(biāo)系統(tǒng)的方法;

掌握VisualBasic的圖形控件和圖形方法及其應(yīng)用;

掌握使用繪圖方法繪制簡單的二維幾何圖形。本章要求:第9章圖形操作本章重點(diǎn):本章難點(diǎn):容器控件的坐標(biāo),及用戶自定義坐標(biāo)系VB中坐標(biāo)系,繪圖方法的使用9.1.2坐標(biāo)系統(tǒng)1.VB坐標(biāo)系統(tǒng)每個(gè)容器都有一個(gè)坐標(biāo)系,構(gòu)成一個(gè)坐標(biāo)系,需要三個(gè)要素:坐標(biāo)原點(diǎn)、坐標(biāo)度量單位、坐標(biāo)軸的長度與方向。坐標(biāo)度量單位由容器對(duì)象的ScaleMode屬性決定。缺省時(shí)為Twip。每英寸1440個(gè)Twip,20個(gè)Twip為一磅。(xLeft,yTop)(xRight,yBotton)

[對(duì)象.]Scale[(xLeft,yTop)-(xRight,yBottom)]對(duì)象的左上角坐標(biāo)值對(duì)象的右下角坐標(biāo)值

例如,F(xiàn)orm1.Scale(-150,100)-(150,-100)將建立和例8.2一樣的坐標(biāo)系。

可在程序中使用Scale方法改變坐標(biāo)系統(tǒng)。當(dāng)Scale方法不帶參數(shù)時(shí),取消用戶定義的坐標(biāo)系,采用缺省坐標(biāo)系。9.1.2坐標(biāo)系統(tǒng)可利用Scale方法設(shè)置用戶坐標(biāo)系,語法如下:2.自定義坐標(biāo)系統(tǒng)ScaleMode屬性設(shè)置坐標(biāo)系統(tǒng)的刻度單位。例9.2

在Form_Paint

事件中定義窗體的坐標(biāo)系。9.1.2坐標(biāo)系統(tǒng)9.2繪圖屬性9.2.1CurrentX、CurrentY(當(dāng)前坐標(biāo))屬性

CurrentX,CurrentY屬性給出窗體或圖形框或打印機(jī)在繪圖時(shí)的當(dāng)前坐標(biāo)。這兩個(gè)屬性在設(shè)計(jì)階段不能使用。使用格式:object.CurrentX[=x]object.CurrentY[=y]

注意:當(dāng)使用某些圖形方法后,對(duì)象的CurrentX和CurrentY的設(shè)置值將發(fā)生變化,其具體的改變見下表9.2繪圖屬性例9.3利用CurrentX,CurrentY屬性在窗體上隨機(jī)打印100個(gè)“★”。9.2.2線寬與線型

1.設(shè)置線寬——DrawWidth屬性

窗體、圖形框或打印機(jī)的DrawWidth屬性給出這些對(duì)象上所畫線的寬度或點(diǎn)的大小。使用格式:[Object.]DrawWidth[=Size]其中:Object為對(duì)象表達(dá)式,可以是窗體、圖片框和打印機(jī)對(duì)象。Size為數(shù)值表達(dá)式,其范圍從

1到

32767。該值以像素為單位表示線寬。缺省值為

1,即一個(gè)像素寬。9.2繪圖屬性

窗體或圖形框或打印機(jī)的DrawStyle屬性給出這些對(duì)象上所畫線的形狀。其設(shè)置值及含意見Pg.212圖9.5。2.設(shè)置線型——DrawStyle屬性9.2繪圖屬性

例9.4用DrawStyle屬性在窗體上畫出不同的線型。9.2繪圖屬性9.2.3圖形的填充和色彩

(1)填充方式——FillStyle屬性

下圖是形狀控件的FillStyle屬性設(shè)置為0~7時(shí)的填充效果

說明:(1)FillStyle為0是實(shí)填充,1為透明方式。填充圖案的顏色由FillColor屬性來決定。(2)對(duì)于窗體和圖片框?qū)ο?,F(xiàn)illStyle屬性設(shè)置后,并不能看到其填充效果,而只能在使用Circle和

Line圖形方法生成的圓和方框時(shí),在圓和方框中顯示其填充效果。1.填充(2)FillColor屬性用于設(shè)置填充形狀的顏色,缺省情況下,F(xiàn)illColor設(shè)置為

0(黑色)。

2、RGB函數(shù)

RGB函數(shù)可返回一個(gè)Long整數(shù),用來表示一個(gè)RGB顏色值。其使用格式如下:

RGB(red,green,blue)

說明:red,green,blue(紅、綠、藍(lán))3種顏色,從0~255之間的一個(gè)亮度值(0表示亮度最低,而255表示亮度最高)。例如:Form1.BackColor=RGB(255,0,0)'設(shè)定背景為紅色9.2.3圖形的填充和色彩

9.2.3圖形的填充和色彩

3、QBColor函數(shù)

QBColor函數(shù)可返回一個(gè)Long值,用來表示所對(duì)應(yīng)顏色值的RGB顏色碼。其使用格式如下:

QBColor(color)

說明:color參數(shù)是一個(gè)界于0~15的整型數(shù),分別代表16種顏色,如P213表9.1所示。4、系統(tǒng)定義的顏色常數(shù)在VB系統(tǒng)中已經(jīng)預(yù)先定義了常用顏色的顏色常數(shù),如常數(shù)vbRed就代表紅色,vbGreen代表綠色等等。例如,要將窗體的背景色設(shè)為紅色。則可使用如下語句:Form1.BackColor=vbRed例9.5顏色的漸變過程。畫直線或矩形:

[對(duì)象.]Line[[Step](x1,y1)]-[Step](x2,y2)[,顏色][,B[F]]其中:對(duì)象可以是窗體或圖形框。

(x1,y1),(x2,y2)為線段的起終點(diǎn)坐標(biāo)或矩形的左上角右下坐標(biāo)。顏色為可選參數(shù),指定畫線的顏色,缺省取對(duì)象的前景顏色,即ForeColorB表示畫矩形,F(xiàn)表示用畫矩形的顏色來填充矩形。關(guān)鍵字Step表示采用當(dāng)前作圖位置的相對(duì)值,即從當(dāng)前坐標(biāo)移動(dòng)相應(yīng)的步長后所得的點(diǎn)為畫線起點(diǎn)。9.3.1Line方法9.3圖形方法

例如:畫一條從(250,300)到(400,500)點(diǎn)的直線Line(250,300)-(400,500)從當(dāng)前位置(由CurrentX,CurrentY決定)畫到(400,500)Line-(400,500)

出發(fā)點(diǎn)是(150,250),終點(diǎn)是向X軸正向走150,向Y軸正向走50的點(diǎn)Line(150,250)-Step(150,50)等同于:Line(150,250)-(300,300)畫一個(gè)左上角在(20,40),右下角在(150,200)的矩形,注意在color參數(shù)省略時(shí),逗號(hào)并不省略。Line(20,40)-(150,200),,B用紅色從(20,40)到(70,110)畫一個(gè)實(shí)心的矩形。

Line(20,40)-Step(50,70),RGB(255,0,0),BF9.3.1Line方法例9.6用Line方法繪制函數(shù)f(x)=x2在區(qū)間[0.3,1]之間積分面積圖。9.3.1Line方法9.3.2Circle方法

Circle方法用于在指定對(duì)象上畫圓、橢圓、圓弧和扇形。其語法格式:

[對(duì)象.]Circle[[Step](x,y),半徑[,顏色][,起始角][,終止角][,長短軸比率]]]

其中:(x,y)為圓心坐標(biāo),關(guān)鍵字Step表示采用當(dāng)前作圖位置的相對(duì)值;圓弧和扇形通過參數(shù)起始角,終止角控制。當(dāng)起始角、終止角取值在0—2時(shí)為圓弧,當(dāng)在起始角、終止角取值前加一負(fù)號(hào)時(shí),畫出扇形,負(fù)號(hào)表示畫圓心到圓弧的徑向線;橢圓通過長短軸比率控制,默認(rèn)值為1,畫圓。Circle方法的使用9.3.2Circle方法

例9.7用Circle方法在窗體上繪制由圓環(huán)構(gòu)成的藝術(shù)圖案。算法:等分半徑為r的圓周為n份,以等分點(diǎn)為圓心,半徑r1繪制n個(gè)圓。9.3.2Circle方法

9.3.3Pset方法Pset方法用于畫點(diǎn),其語法格式如下:

[對(duì)象.]Pset[Step](X,Y)[,顏色]

說明:參數(shù)(X,Y)為所畫點(diǎn)的坐標(biāo),關(guān)鍵字Step表示采用當(dāng)前作圖位置的相對(duì)值。省略{顏色}是采用前景色繪點(diǎn),如果使用背景顏色可清除某個(gè)位置上的點(diǎn)。利用Pset方法可畫任意曲線。9.3圖形方法例9.8例用Pset方法繪制方程組9.3圖形方法的曲線,并求解方程,結(jié)果如圖所示。9.3.4Point方法

格式:[Object.]Point(x,y)

功能:Point方法用于獲取對(duì)象上指定位置的點(diǎn)的RGB顏色值,即讀一個(gè)像素。說明:式中Object為對(duì)象表達(dá)式,可以是窗體、圖片框和打印機(jī)對(duì)象,如果缺省的話,則當(dāng)前窗體成為作用對(duì)象。9.3圖形方法例9.9用Point方法獲取一個(gè)區(qū)域的信息并使用Pset方法進(jìn)行仿真。9.4綜合應(yīng)用

分析:行星運(yùn)動(dòng)的橢圓方程為:

x=x0+rx*cos(alfa)y=y0+ry*sin(alfa)其中,

x0、y0為橢圓圓心坐標(biāo),rx為水平半徑,ry為垂直半徑,alfa為圓心角。例9.11

設(shè)置一個(gè)模擬行星繞太陽運(yùn)動(dòng)的程序。簡單動(dòng)畫設(shè)計(jì)

在程序設(shè)計(jì)中,動(dòng)畫就是有規(guī)律地改變對(duì)象的形狀、尺寸或位置,形成的動(dòng)態(tài)效果。動(dòng)畫的速度通常使用時(shí)鐘控件來控制。

1.VisualBasic缺省的坐標(biāo)系統(tǒng)的原點(diǎn)(0,0)始終位于各個(gè)容器對(duì)象的左上角,X軸的正方向水平向右,Y軸的正方向垂直向下。坐標(biāo)系統(tǒng)的量度單位由ScaleMode屬性決定。VisualBasic允許用戶自定義坐標(biāo)系:(1)使用Scale方法Scale方法是建立用戶坐標(biāo)系最簡便的方法。格式:[Object.]Scale[(左上角坐標(biāo)x1,y1)-(右下角坐標(biāo)x2,y2)]本章小結(jié)本章小結(jié)2.VisualBasic提供的四個(gè)圖形控件見下表所示圖形控件圖形控件屬性要點(diǎn)Image(圖像控件)圖像控件的Stretch屬性值為True時(shí),加載到控件中的圖像可以自動(dòng)調(diào)整尺寸以適應(yīng)圖像控件的大小。PictureBox(圖片框)圖片框的AutoSize屬性值為True時(shí),能使圖片框按裝載的圖片大小重新調(diào)整尺寸,即圖片框的大小與圖片匹配??勺鳛槿萜魇褂?。Shape(形狀控件)形狀控件的Shape屬性確定六種形狀用來繪制幾何圖形。Line(直線控件)主要屬性X1、Y1、X2、Y2的值確定了直線顯示的起止位置本章小結(jié)3.繪圖方法(又稱圖形方法)見下表所示繪圖方法方法使用格式功能Pset[Object.]P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論