《計算機等級考試二級VB教程》由會員分享,可在線閱讀,更多相關(guān)《計算機等級考試二級VB教程(30頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊以編輯母版標題樣式,,單擊以編輯母版文本樣式,,第二級,,第三級,,第四級,,第五級,,,*,Visual Basic,程序設計,9.1,圖形處理,,9.2,多媒體應用,,9.3,示例,第9章 圖形處理及多媒體應用,,Visual Basic,程序設計,作業(yè),,實驗,,掌握,,掌握,窗體的ScaleMode屬性,,色彩常量,色彩函數(shù),,繪圖控件:shape和line,,繪圖方法:Pset,Line,Circle,Cls,,圖片框,圖像控件,,鼠標事件:MouseDown,MouseUp,MouseMove,,鼠標事件過程參數(shù):Button,Shift,X,Y,重點,繪圖方法:,Pset,
2、,Line,Circle,,Cls,,計算機的繪圖和動畫是一件奇妙且引人入勝的主題,Visual Basic下的圖象處理技術(shù),包括繪圖,色彩,動畫,三維空間,虛擬現(xiàn)實,甚至計算機仿真的基礎。聽起來很誘人的東西往往需要大量不誘人的知識,本章是這些奇妙東西的入門。,,VB可以利用繪圖方法在窗體或某容器類對象上畫圖。也可以用繪圖控件畫圖。,,其多媒體控件可以讓你感受動畫、聲音等。,9.1 圖形處理,,9.1 圖形處理,1.VB 的坐標系統(tǒng),,(1) VB坐標系,,系統(tǒng)坐標系(屏幕坐標),,容器坐標系統(tǒng)(“窗體坐標”),所以,:,窗體中調(diào)整、移動控件時,使用容器的坐標系統(tǒng)。,,位置用,Left,Top
3、,屬性描述。,,,Left,表示控件左上角到窗體左邊的距離,,,Top,表示控件左上角到窗體上邊的距離。,,9.1 圖形處理,1.VB 的坐標系統(tǒng),,,(2),改變默認坐標系,,利用到窗體的,Scale,系列屬性,,ScaleLeft屬性:確定對象左邊的水平坐標;,,ScaleTop屬性:確定對象頂端的垂直坐標;,,ScaleWidth屬性:確定對象內(nèi)部水平的單元數(shù)目;,,ScaleHeight屬性:確定對象內(nèi)部垂直的單元數(shù)目,。,,,如:ScaleLeft = -50 : ScaleTop = 50,,ScaleWidth = 100 : ScaleHeight = -100,,利用窗體的,
4、Scale,方法,,,如:,Form1.Scale (-50, 50) - (50, -50),,,其中:前括號指左上角坐標,后括號指右下角坐標,,可讀系統(tǒng)由控件的ScaleMode屬性設置的。ScaleMode的值有:,,ScaleMode值 意義,,0 用戶自定義,,1 點素(Twip 即“特維”,缺省刻度),,2 點(Point),,3 象素(Pixel,這與屏幕分辨率有關(guān)),,4 字符(Character),,5 英寸(Inch),,6 毫米(Mil
5、limeter),,7 厘米(Centimeter),,,(3),刻度系統(tǒng),9.1 圖形處理,思考題:如將水平滾動條的最小值設置為0,最大值設置為255,應對其——屬性要進行設置。,,A 。left和top B width和height Csmallchange和largechange D min和max,,(1) 當前坐標,,?,對象:窗體、圖形框等。,,?,屬性:CurrentX、CurrentY,該屬性設計階段不可用,,?,絕對坐標 :(x,y),,?,相對坐標:step ( x, y),,(2) 線寬,,? 窗體、圖形框或打印機的DrawWidth屬性給出這些對象上
6、所畫線的寬度或點的大小。,,DrawWidth,屬性以像素為單位來度量,最小值為1。,,2.,,繪圖屬性,9.1 圖形處理,,(3) 線型(DrawStyle),2.,,繪圖屬性,9.1 圖形處理,(4) 填充,,封閉圖形的填充方式由以下兩個屬性決定:,,,FillColor,指定填充圖案的顏色,缺省值與,ForeColor,相同,,FillStyle,屬性指定填充的圖案,共有8種內(nèi)部圖案。,DrawStyle設置值 線型,,0 實線,,1 長劃線,,2
7、 點線,,3 點劃線,,4 點點劃線,,5 透明線,,6 內(nèi)實線,,VB采用對象前景色(ForeColor)來繪圖,,?,,RGB函數(shù),,格式:,RGB(紅,綠,藍),,其中: 紅、綠、藍三基色的成分使用0~255之間的整數(shù),共有,,256×256,×256種顏色,,?,,QBColor函數(shù),,格式:,QBColor(顏色碼),,其中: 顏色碼使用0~15之間的整數(shù),共有16色,,例:Label1.forecolor=RGB(
8、255,0,0),,Label1.forecolor=vbred,2.,,繪圖屬性,9.1 圖形處理,(5) 色彩,,9.1 圖形處理,3.使用繪圖控件,,(1) Line控件:繪制直線,,屬性:,BorderStyle:直線類型,8種,默認為1(實線) 見206頁表,,BorderWidth:設置線寬,,BorderColor:設置線條顏色,,X1,Y1,X2,Y2:設置起始點和終止點的坐標,,,(2)Shape控件:,,屬性:Shape,:設置圖形的形狀(參見P204表9.2),,,FillStyle:,設置填充樣式,默認為1,,9.1 圖形處理,(1) Pset方法:,用于畫點,,格
9、式:,[object.]Pset[Step](x,y)[,顏色],,,其中:objec 是用于繪圖板的“容器”對象名,如在本窗體畫點,可以省去,(x,y)為點的坐標;Step表示采用采用相對坐標;,,注:采用背景顏色可清除某個位置上的點。,,,,4.繪圖方法(點,線和圓),舉例:PSet (1000, 1000), vbRed,,Picture1.PSet (1000, 2000), vbBlue,,PSet (1000, 1000),,PSet (1000, 1000), BackColor,,例9-3,在圖片框上生成“,天女散花,”,Option Explicit,,Private Sub
10、 Command1_Click(),,Dim i As Integer,,For i = 1 To 30000,,Call draw,,Next i,,End Sub,,Private Sub Command2_Click(),,End,,End Sub,,Private Sub draw(),,Dim r As Integer, g As Integer, b As Integer,,Dim x As Single, y As Single,,Dim w As Integer, h As Integer,,Randomize,,r = Int(Rnd * 256),,,g = Int(Rnd
11、 * 256),,b = Int(Rnd * 256),,w = pic1.Width,,h = pic1.Height,,x = Int(Rnd * w),,y = Int(Rnd * h),,pic1.PSet (x, y), RGB(r, g, b),,End Sub,,9.1 圖形處理,(2) Line方法,:,用于畫直線或矩形,4.繪圖方法,語法:,,[object.],Line,[[Step](x1,y1)] - [Step](x2,y2) [,Color],,說明:Color:指定畫線顏色,,Step:用來指出要畫出的點與前一點的相對位置,示例:繪制一個任意三角形,說明: Fo
12、rm1. CurrentX = 2000,,Form1. CurrentY = 2000,語法:,,[object.],Line,[[Step](x1,y1)] - [Step](x2,y2) [,Color],,,B[F],,說明:B:利用給定坐標畫矩形.,(使用時其前兩個逗號不可省)。,,F:規(guī)定矩形的填充顏色,(,在使用B參數(shù)的前提下使用)。,,,,例9-4,在窗體上畫“三角形”,Private Sub Command1_Click(),,Line (1500, 500)-(2500,750),,Line -(1750, 1500),,Line -(1500, 500),,End Sub
13、,,,9.1 圖形處理,(3) Circle方法:,用于畫圓、橢圓、圓弧和扇形,4.繪圖方法,,畫圓:,[對象.],Circle [Step](x,y),,半徑[,,Color],[start],[end],[,aspect],參數(shù),:,start:,指定弧的起點位置,默認值為0.,,,end,:,指定弧的終點位置,,默認值為2π.,,,Aspect:,,大于1時,橢圓沿垂直方向拉長;當小于1時,橢圓沿水平方向拉長。默認值為1,將產(chǎn)生一個標準圓.,扇形:,start,和,end,均取負值,,9.1 圖形處理,4.繪圖方法,例1:,,Private Sub Command1_Click(),,
14、,,form1.Circle (1200, 1000), 750, vbRed,,Circle,Step(0,0),,850, RGB(200, 0,255),,End Sub,,,例9-6,在窗體上畫出一個扇形、圓,,Private Sub Form_Load(),,,Const PI = 3.14159,,Show,,Circle (2500, 1500), 1200, vbBlue, -PI, -PI/2,,Circle Step(-600, -600), 600,,5/25,End Sub,,,9.1 圖形處理,5. 清除圖形:[object.]cls,,6.在圖形中加入文本:,,例:
15、,currentX=1908,,currentY=1908,,Print”輸出位置“,,比較記憶:點、線和圓的語法,,,,,點: [對象.]Pset[Step](x,y)[,顏色],,線: [對象.]Line [[Step](x1,y1)] - [Step](x2,y2) [,Color],,圓: [對象.] Circle [Step](x,y),半徑[,Color],,,小結(jié):設定坐標,利用繪圖控件(方法)畫畫。,,,,,2001(春),,在,VB,中最基本的對象是( ),它是應用程序的基石,也是其他控件的容器。,,A.,文本框,B.,命令按鈕,C.,窗體,,D.,標簽,,2000(秋)
16、,,能被對象所識別的動作與對象可執(zhí)行的活動分別稱為對象的( )。,,A.,方法、事件,B.,事件、方法,,C.,事件、屬性,D.,過程、方法,,2001(,春),,有程序代碼:,Text1.Text="Visual Basic",,其中的,Text1、Text,和",Visual Basic",分別代表( )。,,A.,對象、值、屬性,B.,對象、方法、屬性,,C.,對象、屬性、值,,D.,屬性、對象、值,,,,,,Visual Basic 等級試題,,9.1 圖形處理,5. 使用圖片框,1、使用picture屬性顯示圖片,,2、使用loadpicture加載圖片,,loa
17、dpicture([fname],[size],[coloredpth],[x,y]),,3、使用paintpicture方法,,[object.]paintpicture picture,dx,dy[,dw[,dh[,sx[,,,9.1 圖形處理,5. Visual Basic的鼠標事件,VB系統(tǒng)除了能捕獲Click和Dbl Click以外,還可以捕獲鼠標按鈕的按下、釋放和移動。即引發(fā)鼠標的MouseDown,MouseUp,MouseMove等事件。,,9.1 圖形處理,5. Visual Basic的鼠標事件,⑵鼠標事件使用的參數(shù),,,MouseUp,(,Button,As Intege
18、r,,Shift,As Integer, X As Single, Y As Single),指示哪個鼠標鍵觸發(fā)了鼠標事件,判斷在按鍵的同時,是否按下了,Shift、Alt或Ctrl鍵,鼠標指針的位置,⑴ 鼠標事件及觸發(fā)條件,,,MouseDown,事件,:按下任意鼠標按鍵時觸發(fā),,,MouseUp,事件,:釋放任意鼠標按鍵時觸發(fā),,,MouseMove,事件,:鼠標移動過程中時觸發(fā),,Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single),,If Button = vb
19、RightButton Then Print “你按下鼠標右鍵",,If Button = vbLeftButton Then Print “你按下鼠標左鍵”,,End Sub,示例:檢測用戶按下了鼠標的哪個鍵?,5.VB的鼠標事件,9.1 圖形處理,,1. 使用動畫控件(Animation),,,(1) 功能,,用于播放無聲的“.avi”的數(shù)字電影文件。,,,(2) 添加部件,,部件——Microsoft Windows Common Controls-2 6.0,,,(3) 常用屬性,,Center:,設為,True,,可確保播放的畫面位于動畫控件的中間位置。,,Autoplay,:,用于
20、設定已打開的動畫文件的自動播放。,9.2 多媒體應用,VB中與多媒體有關(guān)的控件有兩個,都是ActiveX控件。一個是動畫控件,另一個是媒體控制控件。,,(4) 常用方法,,Open,---,打開播放文件,,格式:,Object.Open,fname,,Play,----,用于進行播放,,格式:,Object.Play [repeat][,start][,end],,其中:,repeat:,重復播放的次數(shù),,,start:,起始播放的楨;,end:,停止播放的楨,,例如:,animat1.play 5,9,24,1. 使用動畫控件(Animation),,9.2 多媒體應用,表示:使用名為ani
21、mat1的動畫控件要把已打開的“.avi”文,,件的第 10幅畫到第25幅畫面重復播放5遍。,,Stop,-----,停止播放,,一般形式:,Object.stop,,,Close,-----,關(guān)閉文件,,2. 多媒體控件,,(1)多媒體控件(Multimedia MCI),,,用于管理,控制各種MCI (Media Contol Interface )設備的控件。它提供了一組控制按鈕,可以通過這些按鈕控制和管理聲卡 、 CD-ROM、VCD播放器等設備。,,(2)添加部件,,第一步:工程/部件,,第二步:部件,,第三步:在“控件”列表框中選定,,Microsoft Multimedia
22、Control 6.0,9.2 多媒體應用,,(3) 主要屬性:,,,Enabled,:使該控件有效,,,Visible:,使該控件可見,,,DeviceType:,設置多媒體控件所要管理的設備類型,,,AutoEnable:,為True時,自動激活DeviceType所指定的設備。,,,FileName:,指定MCI所要使用的文件名稱,,,Command:,在運行時使用,指定需要執(zhí)行的MCI命令,,(4) MCI命令,,,它是通過一套高層的與設備無關(guān)的命令來控制多媒體設備的。,,主要命令如表9-7所示(p223)。,,格式:,Mmcontrol1.Command=“commandname”
23、,,例如: Mmcontrol1.Command=“Open”,2. 多媒體控件,9.2 多媒體應用,,示例:交叉火力,請演示中的程序,,需要定時器:,,Private Sub Timer1_Timer(),,If mnuCtlMoveDemo.Checked And DoFlag = True Then,,CtlMoveDemo,,ElseIf mnuLineDemo.Checked And DoFlag = True Then,,LineDemo ‘交叉火力,,ElseIf mnuShapeDemo.Checked And DoFlag = True Then,,Shap
24、eDemo,,ElseIf mnuPSetDemo.Checked And DoFlag = True Then,,PSetDemo,,……………………,,End If,,End Sub,,主要程序代碼:,,Private Sub LineDemo(),,Dim X2,,Dim Y2,,R = 255 * Rnd,,G = 255 * Rnd,,B = 255 * Rnd,,X2 = Int(DemoForm.Width * Rnd + 1),,Y2 = Int(DemoForm.Height * Rnd + 1),,Line -(X2, Y2), RGB(R, G, B),,End Sub,示例:交叉火力,請演示中的程序,,作業(yè),本章后練習題 第4,5,6,7題 (第224頁),實驗,實驗13: 實驗13-4 實驗13-5 實驗13-6,,實驗13-7 (實驗指導書),,