第六章圖形控件和方法_第1頁
第六章圖形控件和方法_第2頁
第六章圖形控件和方法_第3頁
第六章圖形控件和方法_第4頁
第六章圖形控件和方法_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第六章圖形技術(shù)

葛錦環(huán)

溫州醫(yī)學院計算機教研室2一個軟件能否吸引用戶,很重要的一點是對圖形技術(shù)的運用是否得當。漂亮的界面,生動的圖形圖像,往往能夠激發(fā)起用戶使用軟件的欲望。圖形控件VB坐標系圖形方法本章細分為以下內(nèi)容:31、PictureBox控件(圖片框控件)主要作用:顯示圖片、繪圖和顯示文本、作為其他控件的容器。主要屬性:

Picture(配合LoadPicture函數(shù))裝入圖片:

對象名.Picture=LoadPicture(“圖片文件”)刪除圖片:

對象名.Picture=LoadPicture(“”)6.1圖形控件PictureBox控件的另一個很重要的屬性: AutoSize當所要顯示的圖形比控件大時,如果AutoSize為False,超過的部分將被裁剪掉,且控件不提供滾動條;如果AutoSize為True,那么控件將會自動調(diào)整大小以顯示完整圖形。PictureBox控件主要方法: 可以使用Print、Cls、Pset、Line、Circle方法主要事件:Change、Click等。例子: PrivateSubCommand1_Click() Picture1.Autosize=True Picture1.Picture=LoadPicture(“D:\巨蟹座.jpg") Picture1.Print“星座圖片” EndSub66.1圖形控件2、Image控件(影像框控件)主要作用:顯示圖片。影像框比圖片框占用的內(nèi)存少,所以速度較快。影像框內(nèi)不能使用Print、Pset、Line、Circle等方法進行繪圖和輸出文本,影像框也不能作為其他控件的容器。除了Picture屬性之外,Image控件的一個很重要的屬性:StretchStretch屬性=False,影像框自動改變大小適應其中的圖片Stretch屬性=True,圖片自動調(diào)整尺寸適應影像框常用事件:與Picture控件類似,如Change、Click等。2、Image控件(影像框控件)86.1圖形控件3、Shape控件(形狀控件)

主要屬性:Shape

改變它可以得到以下6種圖形,把這些圖形作為控件來看待的。BorderStyle:邊框類型BorderColor:邊框顏色BorderWidth:邊框?qū)挾龋绻鋵傩灾荡笥?,則邊框類型必然是solidFillStyle:填充類型FillColor:填充顏色106.1圖形控件4、Line(直線控件)可以使用Line控件畫直線,這是把所畫出來的直線作為一個控件來看待的。

Line控件的重要屬性:X1、Y1、X2、Y2,分別表示直線兩個端點的坐標。Line控件不響應任何事件,它只支持表面顯示。116.2VisualBasic坐標系

VB中所有的對象,都是放在容器內(nèi)的。要對對象進行定位,首先要了解容器內(nèi)的坐標系統(tǒng)。坐標系統(tǒng)包含三個要素:坐標原點、坐標度量單位、坐標軸的方向每個容器都有一個默認的坐標系。最常見的容器是窗體和圖片框。容器的坐標系確定以后,就可以知道容器內(nèi)對象的定位,與定位有關(guān)的四個屬性是:

Left、Top、Width、Height

12默認坐標系統(tǒng)(原點——左上角、單位——緹)HeightYX0,0容器WidthHeight對象1對象2WidthLeftTopLeftTop13定制坐標系統(tǒng)使用默認的坐標系統(tǒng),坐標原點只能在容器的左上角。通過定制坐標系統(tǒng),可以任意地設(shè)定坐標系統(tǒng)的原點位置以及坐標的刻度和方向。用到的容器屬性:ScaleLeft、ScaleTop、ScaleWidth、ScaleHeightYX缺省坐標系ScaleLeft=0ScaleTop=00YX坐標平移Scaleleft=-30ScaleTop=-500(-30,-50)14定制坐標系統(tǒng)容器內(nèi)部左上角的坐標通過ScaleLeft、ScaleTop來確定,右下角的坐標還要用到另外兩個屬性:ScaleWidth、ScaleHeight。右下角的坐標值為:

(ScaleLeft+ScaleWidth,ScaleTop+ScaleHeight)同時確定了坐標系的方向和單位刻度YX0(50,-60)ScaleLeft=0ScaleTop=0ScaleWidth=50ScaleHeight=-60YX兩個對角點確定一個坐標系ScaleLeft=-30ScaleTop=-50ScaleWidth=100ScaleHeight=1100(-30,-50)(70,60)15定制坐標系統(tǒng)ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight,這四個屬性并不會改變?nèi)萜鞅旧淼拇笮〕叽纾鼈兯鸬淖饔弥皇菍θ萜鲀?nèi)部區(qū)域的“重新規(guī)劃”。YX0(50,-60)ScaleLeft=0ScaleTop=0ScaleWidth=50ScaleHeight=-60YX兩個對角點確定一個坐標系ScaleLeft=-30ScaleTop=-50ScaleWidth=100ScaleHeight=1100(-30,-50)(70,60)16例、通過ScaleTop,ScaleLeft,ScaleWidth和ScaleHeight 屬性,自定義圖片框Pic1的坐標系。Pic1.ScaleLeft=-200Pic1.ScaleTop=250Pic1.ScaleWidth=500Pic1.ScaleHeight=-400YX0300-200-150250窗體Form117

定制容器內(nèi)部的坐標系,除了利用以上所提的ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight這四個屬性之外,我們還可以利用Scale方法進行定制。定制坐標系統(tǒng)18語法:[容器.]Scale(xLeft,yTop)-(xRight,yBottom)容器左上角的坐標值容器右下角的坐標值定制坐標系統(tǒng)19YX0300-200-150250

例如,建立和上面一樣的坐標系。

Pic1.Scale(-200,250)-(300,-150)定制坐標系統(tǒng)Pic1.ScaleLeft=-200Pic1.ScaleTop=250Pic1.ScaleWidth=500Pic1.ScaleHeight=-40020刻度可以通過容器的ScaleMode屬性設(shè)置。0用戶定義。1緹。這是缺省刻度。1英寸=1140緹2磅。72磅=1英寸3象素。監(jiān)視器或打印機分辨率的最小單位。4字符。打印時,一個字符有1/6英寸高1/12英寸寬5英寸6毫米7厘米坐標刻度ScaleMode屬性PrivateSubCommand1_Click()Form1.ScaleMode=6PrintCommand1.WidthEndSub應用Scale方法或者改變了ScaleLeft、ScaleTop、ScaleHeight、ScaleWidth屬性值后,ScaleMode的值自動變?yōu)?22例:點擊按鈕,使Shape1對象移動。PrivateSubCommand1_Click()IfShape1.Left>=Form1.WidthThenShape1.Left=-Shape1.WidthShape1.Left=Shape1.Left+1000ElseShape1.Left=Shape1.Left+1000EndIfEndSub236.3圖形方法(pset,line,circle)6.3.1使用顏色可以使用5種方式設(shè)置顏色:(1)直接在屬性欄里進行設(shè)置。(2)使用RGB函數(shù)。(3)使用QBColor函數(shù),選擇16種Qbasic顏色中的一種。(4)使用系統(tǒng)提供的顏色常數(shù)。(5)直接使用Long類型顏色值。

246.3.1使用顏色(2)使用RGB函數(shù)

RGB(red,green,blue)說明:red,green,blue3種顏色,從0~255之間的一個亮度值(0表示亮度最低,而255表示亮度最高)。例:Form1.BackColor=RGB(126,76,200)‘設(shè)定背景紫色(3)使用QBColor函數(shù)其使用格式如下:

QBColor(color)

說明:

color參數(shù)是一個界于0~15的整型數(shù),分別代表16種顏色,如表6-2所示。256.3.1使用顏色(4)使用系統(tǒng)定義的顏色常數(shù)在VB系統(tǒng)中已經(jīng)預先定義了常用顏色的顏色常數(shù),如常數(shù)vbRed就代表紅色,vbGreen代表綠色等等。例如,要將窗體的背景色設(shè)為紅色。則可使用如下語句:Form1.BackColor=vbRed(5)直接使用顏色設(shè)置值用十六進制數(shù)指定顏色的格式為:&HBBGGRR其中,BB指定藍顏色的值,GG指定綠顏色的值,RR指定紅色的值。每個數(shù)段都是兩位十六進制數(shù),即從00~FF。例如,F(xiàn)orm1.BackColor=&HFF0000它相當于:Form1.BackColor=RGB(0,0,255)26

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

窗體、圖形框的DrawWidth屬性給出這些對象上所畫線的寬度或點的大小。例如:Form1.DrawWidth=2

(寬度為2個象素)缺省值為

1,即一個像素寬。6.3.2線寬、線型與填充模式27窗體或圖形框的DrawStyle屬性給出這些對象上所畫線的形狀。2.設(shè)置線型——DrawStyle屬性286.3.3圖形方法與應用(1)Pset方法——畫點其語法格式如下:

[容器.]Pset(X,Y)[,color]

例:單擊窗體畫出帶顏色的隨機點。Form1.PSet(Rnd*Form1.Width,Rnd*Form1.Height),QBColor(Int(Rnd*16))缺省為ForeColor例6-6利用Pset方法繪制Cos(x)函數(shù)曲線

PrivateSubForm_Click()DimxAsInteger,iAsIntegerFori=0To10000PSet(i,1200),vbRedNextiForx=0To10000PSet(x,1000*Cos(x*3.1415926/1800)+1200),vbBlueNextxEndSub(1)Pset方法——畫點30(2)line方法——畫線、矩形

[容器名.]Line[(x1,y1)]-(x2,y2)[,Color],[B][F]

其中:對象可以是窗體或圖片框。

(x1,y1),(x2,y2)為線段的起點、終點坐標。省略起點,缺省為當前輸出位置,缺省Color為容器的ForeColor屬性。B表示畫矩形,F(xiàn)表示用畫矩形的邊框顏色來填充矩形,若無F,則由對象的FillColor和FillStyle來決定填充色。PrivateSubForm_Click()DrawWidth=5‘決定線的寬度

FillStyle=0FillColor=vbYellowLine(1000,1000)-(3000,3000),QBColor(12),BEndSub各參數(shù)可根據(jù)實際要求進行取舍,但如果舍去的是中間參數(shù),參數(shù)的位置分隔符不能舍去。32(1)當前坐標的概念(當前輸出位置)容器的CurrentX,CurrentY屬性即表示在繪圖時的當前坐標,也就是系統(tǒng)最近所獲得的那個坐標位置。在還沒有開始畫圖的時候,當前坐標為容器左上角的坐標。(2)相對坐標的概念如果坐標值前加上關(guān)鍵字Step,就表示使用的是相對坐標,例如Step(x,y)。表示坐標值為當前坐標分別再加上x、y的值。33[對象.]Line(x1,y1)-[Step](x2,y2)[,顏色],[B][F][對象.]PSet[Step](x,y)[,顏色]例如:Line(200,100)-(250,150)等價于

Line(200,100)-Step(50,50)34畫一條從(250,300)到(400,500)點的直線例:畫一個左上角在(20,40),右下角在(150,200)的矩形,注意在color參數(shù)省略時,逗號并不省略。出發(fā)點是(150,250),終點是向X軸正向走150,向Y軸正向走50的點從當前位置(由CurrentX,CurrentY決定)畫到(400,500)Line(250,300)-(400,500)Line-(400,500)Line(150,250)-Step(150,50)等同于:Line(150,250)-(300,300)Line(20,40)-(150,200),,B35真題練習1、當使用Line方法畫直線后,當前坐標為()?A、容器對象的原點B、直線的起點C、直線的終點D、容器對象的中心答案:C36真題練習2、假設(shè)窗體的當前坐標為(200,200),則執(zhí)行語句LineStep(100,100)-Step(200,200)時,繪制的直線的起點坐標為()?終點坐標為()?答案:(300,300)(500,500)373、語句Line(100,100)-(500,500),vbRed,BF

的功能是()?答案:在窗體上繪制一個紅色的實心矩形真題練習38真題練習4、Form1.FillColor=vbBlueForm1.FillStyle=0Line(100,100)-(500,500),vbRed,B

以上程序段的功能是()?答案:在窗體上繪制一個邊框為紅色、填充色為藍色的矩形。39(4)Circle方法——畫圓、橢圓、圓弧、扇形格式:[對象.]Circle[[Step](x,y),半徑[,顏色][,起始角][,終止角][,縱橫軸比率]]]其中:

(x,y)為圓心坐標,可選關(guān)鍵字Step表示采用相對坐標值;例如:Circle(1000,1000),1000圓弧和扇形通過參數(shù)起始角,終止角控制(單位:弧度)。角度前加負號表示在圓心和圓弧間畫出徑向線;負號并不是表示負角度。橢圓通過縱橫軸比率控制,默認值為1,畫圓。

Circle(1000,1000),1000,vbRed,0.1,0.7Circle(1000,1000),1000,vbRed,,,3Circle(1000,1000),

溫馨提示

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

評論

0/150

提交評論