第12章 Visual Basic多媒體程序設(shè)計(jì)_第1頁(yè)
第12章 Visual Basic多媒體程序設(shè)計(jì)_第2頁(yè)
第12章 Visual Basic多媒體程序設(shè)計(jì)_第3頁(yè)
第12章 Visual Basic多媒體程序設(shè)計(jì)_第4頁(yè)
第12章 Visual Basic多媒體程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第12章 Visual Basic多媒體程序設(shè)計(jì)第12章 Visual Basic多媒體程序設(shè)計(jì)本章重點(diǎn)多媒體項(xiàng)目的開發(fā)方法多媒體項(xiàng)目的開發(fā)方法文本軟件開發(fā)技術(shù)文本軟件開發(fā)技術(shù)圖形軟件開發(fā)技術(shù)圖形軟件開發(fā)技術(shù)圖像軟件開發(fā)技術(shù)圖像軟件開發(fā)技術(shù)數(shù)字音頻軟件開發(fā)技術(shù)數(shù)字音頻軟件開發(fā)技術(shù)數(shù)字視頻軟件開發(fā)技術(shù)數(shù)字視頻軟件開發(fā)技術(shù)動(dòng)畫軟件開發(fā)技術(shù)動(dòng)畫軟件開發(fā)技術(shù)第12章 Visual Basic多媒體程序設(shè)計(jì)n12.1 基本概念基本概念n12.2 VB圖形處理技術(shù)圖形處理技術(shù)n12.3 VB圖像處理技術(shù)圖像處理技術(shù)n12.4 VB音頻處理技術(shù)音頻處理技術(shù)n12.5 VB視頻處理技術(shù)視頻處理技術(shù)n12.6

2、VB動(dòng)畫處理技術(shù)動(dòng)畫處理技術(shù)n12.7 小結(jié)小結(jié)12.1 基本概念Visual Basic (簡(jiǎn)稱簡(jiǎn)稱VB)是是Microsoft公司推出的基于公司推出的基于Windows平臺(tái)的程序開發(fā)工具,其程序設(shè)計(jì)風(fēng)格與傳平臺(tái)的程序開發(fā)工具,其程序設(shè)計(jì)風(fēng)格與傳統(tǒng)設(shè)計(jì)方法不同,它采用面向?qū)ο蠛褪录某绦蛟O(shè)計(jì)統(tǒng)設(shè)計(jì)方法不同,它采用面向?qū)ο蠛褪录某绦蛟O(shè)計(jì)方法,是一種采用事件驅(qū)動(dòng)編寫機(jī)制的語(yǔ)言。方法,是一種采用事件驅(qū)動(dòng)編寫機(jī)制的語(yǔ)言。VB專業(yè)版中提供了專業(yè)版中提供了MCI(Media Control Interface)的控件。利用的控件。利用VB,可以編程處理文本、圖形、圖像、,可以編程處理文本、圖形、圖像、

3、音頻、視頻、動(dòng)畫等多媒體數(shù)據(jù),以設(shè)計(jì)或構(gòu)造適合音頻、視頻、動(dòng)畫等多媒體數(shù)據(jù),以設(shè)計(jì)或構(gòu)造適合不同需求的多媒體應(yīng)用系統(tǒng)。在多媒體程序設(shè)計(jì)方面,不同需求的多媒體應(yīng)用系統(tǒng)。在多媒體程序設(shè)計(jì)方面,VB不但自身提供了控制對(duì)象及多媒體控件,還提供了不但自身提供了控制對(duì)象及多媒體控件,還提供了對(duì)眾多第三方多媒體控件的支持及對(duì)眾多第三方多媒體控件的支持及API函數(shù)的調(diào)用。函數(shù)的調(diào)用。12.1 基本概念VB涉及三個(gè)重要概念:涉及三個(gè)重要概念: (1)窗口。窗口是一種有邊界的矩形區(qū)域,例如,資源管理器窗口、窗口。窗口是一種有邊界的矩形區(qū)域,例如,資源管理器窗口、Word的文檔窗口、對(duì)話框窗口、按鈕、圖標(biāo)、菜單條等

4、。的文檔窗口、對(duì)話框窗口、按鈕、圖標(biāo)、菜單條等。 (2)事件。事件是通過鼠標(biāo)、按鍵的操作、程序的控制或其他窗口事件。事件是通過鼠標(biāo)、按鍵的操作、程序的控制或其他窗口所產(chǎn)生的操作或行為。所產(chǎn)生的操作或行為。 (3)消息。發(fā)生事件時(shí)就引發(fā)一條消息并發(fā)送到操作系統(tǒng)。消息。發(fā)生事件時(shí)就引發(fā)一條消息并發(fā)送到操作系統(tǒng)。 VB采用事件驅(qū)動(dòng)模型。在事件驅(qū)動(dòng)模型中,程序代碼不是按照預(yù)采用事件驅(qū)動(dòng)模型。在事件驅(qū)動(dòng)模型中,程序代碼不是按照預(yù)定的順序執(zhí)行,而是在響應(yīng)不同的事件時(shí)執(zhí)行不同的代碼片斷。定的順序執(zhí)行,而是在響應(yīng)不同的事件時(shí)執(zhí)行不同的代碼片斷。Windows操作系統(tǒng)通過給每一個(gè)窗口提供一個(gè)唯一的標(biāo)識(shí)符操作系統(tǒng)

5、通過給每一個(gè)窗口提供一個(gè)唯一的標(biāo)識(shí)符(窗窗口句柄口句柄Hwnd)來(lái)管理所有的窗口。操作系統(tǒng)連續(xù)地監(jiān)視每一個(gè)窗來(lái)管理所有的窗口。操作系統(tǒng)連續(xù)地監(jiān)視每一個(gè)窗口的活動(dòng)或事件信號(hào)。當(dāng)發(fā)生事件時(shí),將引發(fā)一條消息,操作系口的活動(dòng)或事件信號(hào)。當(dāng)發(fā)生事件時(shí),將引發(fā)一條消息,操作系統(tǒng)處理該消息并廣播給其他窗口。最后,每一個(gè)窗口根據(jù)自身處統(tǒng)處理該消息并廣播給其他窗口。最后,每一個(gè)窗口根據(jù)自身處理該條消息的指令而采取適當(dāng)?shù)牟僮?。理該條消息的指令而采取適當(dāng)?shù)牟僮鳌?2.2 VB圖形處理技術(shù)圖形處理技術(shù)12.2.1 VB坐標(biāo)系統(tǒng)及圖形格式坐標(biāo)系統(tǒng)及圖形格式12.2.2 PaintPicture方法和方法和BitBlt

6、API函數(shù)函數(shù)12.2.3 繪圖方法程序?qū)嵗L圖方法程序?qū)嵗?2.2.1 VB坐標(biāo)系統(tǒng)及圖形格式坐標(biāo)系統(tǒng)及圖形格式n在在VB中,坐標(biāo)系統(tǒng)是一個(gè)二維網(wǎng)格,可定義屏幕上、中,坐標(biāo)系統(tǒng)是一個(gè)二維網(wǎng)格,可定義屏幕上、窗體中或其他容器中的位置。使用窗體中的坐標(biāo)窗體中或其他容器中的位置。使用窗體中的坐標(biāo)(x,y),可定義網(wǎng)格上的位置。其中,可定義網(wǎng)格上的位置。其中x值是沿值是沿x軸的位置,軸的位置,最左端的值是最左端的值是0;y值是沿值是沿y軸的位置,最上端的值是軸的位置,最上端的值是0。nVB可以支持的圖形格式有位圖可以支持的圖形格式有位圖(.bmp)文件、設(shè)備獨(dú)文件、設(shè)備獨(dú)立位圖立位圖(.dib)文件

7、、圖標(biāo)文件、圖標(biāo)(.ico)文件、光標(biāo)文件、光標(biāo)(.cur)文件、文件、元元(.wmf)文件、增強(qiáng)的元文件文件、增強(qiáng)的元文件(.emf)、GIF(.gif)文文件以及件以及JPEG(.jpg)文件文件.12.2.2 PaintPicture方法和BitBlt API函數(shù)PaintPicture的基本功能是圖像塊傳輸。它能快速地將兩幅位圖進(jìn)行合并;能將位圖的全部或某一部分快速剪切并粘貼到其他地方;能將位圖自動(dòng)延伸或壓縮以適應(yīng)新的環(huán)境;能在屏幕上不同位置之間、屏幕與內(nèi)存之間傳遞位圖;它采用32位三元光柵操作代碼(RasterOp),在源位圖、選定的子位圖和目標(biāo)位圖之間進(jìn)行顏色組合,生成目標(biāo)位圖中的

8、最終顏色;它將13個(gè)常用RasterOp操作以內(nèi)部常量形式給出,不需任何聲明。12.2.2 PaintPicture方法和BitBlt API函數(shù)PaintPicture方法方法作用:在作用:在Form、PictureBox或或Printer上繪制圖形文上繪制圖形文件件(.bmp、.wmf、.emf、.cur、.ico或或.dib)的內(nèi)容。的內(nèi)容。語(yǔ)法:語(yǔ)法:Object.PaintPicturepicture,x1,y1,widthl,height1,x2,y2,width2,height2,opcode。Object是可選項(xiàng)。其值可以為窗體、是可選項(xiàng)。其值可以為窗體、PictureBox控

9、件或控件或Printer。Picture為必選項(xiàng),指定要繪制到為必選項(xiàng),指定要繪制到Object上的圖形源。上的圖形源。x1,y1必選項(xiàng),必選項(xiàng),均為單精度值,指定在均為單精度值,指定在Object上繪制上繪制Picture的目標(biāo)坐標(biāo)。的目標(biāo)坐標(biāo)。Width1可選可選項(xiàng),單精度值,指示項(xiàng),單精度值,指示Picture的目標(biāo)寬度。的目標(biāo)寬度。Height1可選項(xiàng),單精度值,可選項(xiàng),單精度值,指示指示Picture的目標(biāo)高度。的目標(biāo)高度。x2,y2可選項(xiàng),均為單精度值,指示可選項(xiàng),均為單精度值,指示Picture內(nèi)剪貼區(qū)的坐標(biāo)內(nèi)剪貼區(qū)的坐標(biāo)(x-軸和軸和y-軸軸)。Width2可選項(xiàng),單精度值,指

10、可選項(xiàng),單精度值,指示示Picture內(nèi)剪貼區(qū)的源寬度。內(nèi)剪貼區(qū)的源寬度。Height2可選項(xiàng),單精度值,指示可選項(xiàng),單精度值,指示Picture內(nèi)剪貼區(qū)的源高度。內(nèi)剪貼區(qū)的源高度。opcode可選項(xiàng),是長(zhǎng)型值或僅由位圖使用可選項(xiàng),是長(zhǎng)型值或僅由位圖使用的代碼,該參數(shù)與的代碼,該參數(shù)與BitBlt中中dwRop參數(shù)含義相同。表示源位圖與目標(biāo)位參數(shù)含義相同。表示源位圖與目標(biāo)位圖的組合關(guān)系,用來(lái)定義在將圖的組合關(guān)系,用來(lái)定義在將Picture繪制到繪制到Object上時(shí)對(duì)上時(shí)對(duì)Picture執(zhí)行執(zhí)行的位操作。的位操作。12.2.2 PaintPicture方法和BitBlt API函數(shù)BitBlt

11、 API函數(shù)作用:與PaintPicture方法相同。函數(shù)聲明: Declare Function BitBlt Lib gdi32 Alias BitBlt (ByVal hDestDC As Long,ByVal x As Long,ByVal y As Long,ByVal nW記th As Long,ByVal nHeight As Long,ByVal hSrcDC As Long,ByVal xSrc As Long,ByVal ySrc As Long,ByVal dwRop As Long)As Long12.2.2 PaintPicture方法和BitBlt API函數(shù)參數(shù)說

12、明:參數(shù)說明:hDestDC:目標(biāo)設(shè)備環(huán)境:目標(biāo)設(shè)備環(huán)境x:目標(biāo)左上角坐標(biāo):目標(biāo)左上角坐標(biāo)y:目標(biāo)頂端坐標(biāo):目標(biāo)頂端坐標(biāo)nWidth:目標(biāo)寬:目標(biāo)寬nHeight:目標(biāo)高:目標(biāo)高h(yuǎn)SrcDC:源設(shè)備環(huán)境:源設(shè)備環(huán)境xSrc:源左上角坐標(biāo):源左上角坐標(biāo)ySrc:源頂端坐標(biāo):源頂端坐標(biāo) dwRop:位處理操作,與:位處理操作,與PaintPicture方法相同。方法相同。12.2.3 繪圖方法程序?qū)嵗L圖方法程序?qū)嵗旅娼榻B的下面介紹的“真彩色畫板真彩色畫板”可以在一個(gè)畫圖區(qū)域內(nèi),以任意的顏色,可以在一個(gè)畫圖區(qū)域內(nèi),以任意的顏色,繪制任何曲線。程序中用繪制任何曲線。程序中用Line繪圖方法與鼠標(biāo)的

13、繪圖方法與鼠標(biāo)的MouseDown及及MouseMove事件,并使用事件,并使用RGB(Red,Green,Blue)函數(shù)選取函數(shù)選取畫筆顏色,實(shí)現(xiàn)具體的繪圖操作。畫筆顏色,實(shí)現(xiàn)具體的繪圖操作。(1)各對(duì)象屬性設(shè)置如下:各對(duì)象屬性設(shè)置如下: Begin VB.Form Form1 BackColor=&H80000001& Caption=簡(jiǎn)單的真彩色畫板簡(jiǎn)單的真彩色畫板 ClientHeight=7425 ClientLeft=1665 ClientTop=1950 ClientWidth=996012.2.3 繪圖方法程序?qū)嵗L圖方法程序?qū)嵗鼴egin VB.Picture

14、Box Picture2Appearance=0 FlatBackColor=&H80000005&ForeColor=&H80000008&Height=1785Left=8130Picture=Form1.frx:0000ScaleHeight=1755ScaleWidth=1755TabIndex=15Top=300Width=1785End12.2.3 繪圖方法程序?qū)嵗鼴egin VB.HScrollBar HScroll3Height=375Left=8250Max=255TabIndex=7Top=5820Width=1575EndBegin VB.

15、HScrollBar HScroll2Height=375Left=8250Max=255TabIndex=6Top=5100Width=1575 End12.2.3 繪圖方法程序?qū)嵗L圖方法程序?qū)嵗鼴egin VB.HScrollBar HScroll1Height=375Left=8250Max=255TabIndex=5Top=4380Width=1575EndBegin VB.CommandButton Command4Caption=退退 出出BeginProperty Font Name=宋體宋體 Size=1212.2.3 繪圖方法程序?qū)嵗鼵harset=134 Weight=4

16、00Underline=0 FalseItalic=0 FalseStrikethrough=0 FalseEndPropertyHeight=495Left=6210TabIndex=4Top=6780Width=1455EndBegin VB.CommandButton Command3Caption=清清 屏屏BeginProperty FontName=宋體宋體Size=12Charset=134Weight=400Underline=0 FalseItalic=0 FalseStrikethrough=0 FalseEndProperty12.2.3 繪圖方法程序?qū)嵗L圖方法程序?qū)嵗?/p>

17、12.2.3 繪圖方法程序?qū)嵗L圖方法程序?qū)嵗鼵harset=134Weight=400Underline=0 FalseItalic=0 FalseStrikethrough=0 FalseEndPropertyHeight=495Left=2130TabIndex=2Top=6780Width=1455End12.2.3 繪圖方法程序?qū)嵗L圖方法程序?qū)嵗鼴egin VB.PictureBox Picture1AutoRedraw=-1 TrueBackColor=&H80000009&Height=6015Left=330ScaleHeight=5955ScaleWidth

18、=7035TabIndex=0Top=300Width=7095End12.2.3 繪圖方法程序?qū)嵗L圖方法程序?qū)嵗齋ize=12Chatset=134Weight=400Underline=0 FalseItalic=0 FalseStrikethrough=0 FalseEndPropertyHeight=495Left=90TabIndex=1Top=6780Width=1455End12.2.3 繪圖方法程序?qū)嵗L圖方法程序?qū)嵗绦虼a如下程序代碼如下在窗體在窗體Forml的聲明段聲明以下變量的聲明段聲明以下變量 Dim paintnow As Boolean Dim startX A

19、s Single,startY As Single Dim red As Integer,green As Integer,blue As Integer Private Sub Command1_Click() 變量變量file_name用于保存用戶輸入的要打開的文件的文件名用于保存用戶輸入的要打開的文件的文件名 Dim file_name As String file_name=InputBox(請(qǐng)輸入路徑請(qǐng)輸入路徑文件名:文件名:,打開文件打開文件) 如果文件不存在,則顯示如果文件不存在,則顯示”文件未找到文件未找到”的對(duì)話框,否則將指定的圖形文的對(duì)話框,否則將指定的圖形文件載入賦給件載

20、入賦給圖片框的圖片框的Picture屬性屬性(即在圖片框中顯示打開的圖形文件即在圖片框中顯示打開的圖形文件),并設(shè)置并設(shè)置”保存保存”命令按鈕命令按鈕獲得焦點(diǎn)獲得焦點(diǎn)12.3 VB圖像處理技術(shù)圖像處理技術(shù)12.3.1 在圖片上平滑移動(dòng)文在圖片上平滑移動(dòng)文字字12.3.2 圖像的滾動(dòng)顯示和縮放圖像的滾動(dòng)顯示和縮放12.3.3 屏幕圖像的捕捉屏幕圖像的捕捉12.3.1 在圖片上平滑移動(dòng)文在圖片上平滑移動(dòng)文字字n在很多電影及游戲的結(jié)尾,我們可以看到文本在圖片上平滑地卷在很多電影及游戲的結(jié)尾,我們可以看到文本在圖片上平滑地卷到屏幕的上方,在到屏幕的上方,在VB中,可以使用以下方法實(shí)現(xiàn)此中,可以使用以下

21、方法實(shí)現(xiàn)此“特技特技”:n新建工程文件,并創(chuàng)建新建工程文件,并創(chuàng)建Forml。在。在Forml上放置上放置PictureBox控件控件Picture1,選定背景圖片。另外,放置一個(gè),選定背景圖片。另外,放置一個(gè)Timer控件控件Timer1,設(shè)置設(shè)置Enabled屬性為屬性為True,設(shè)置,設(shè)置Interval為為100(Interval決定決定文本移動(dòng)速度文本移動(dòng)速度)。n單擊選擇單擊選擇Picture1,在,在PictureBox的底部放置的底部放置Label控件控件Label1,并設(shè)置,并設(shè)置Label1的的BackStyle屬性為屬性為0(透明透明即控件即控件后的背景色和任何圖片都是可

22、見的后的背景色和任何圖片都是可見的),設(shè)置,設(shè)置Caption為待移動(dòng)的字為待移動(dòng)的字符串符串12.3.2 圖像的滾動(dòng)顯示和縮放12.3.2 圖像的滾動(dòng)顯示和縮放圖像的滾動(dòng)顯示和縮放12.3.3 屏幕圖像的捕捉屏幕圖像的捕捉12.3.3 屏幕圖像的捕捉屏幕圖像的捕捉12.3.3 屏幕圖像的捕捉屏幕圖像的捕捉12.4 VB音頻處理技術(shù)12.4.1 利用利用Beep語(yǔ)句使揚(yáng)聲器發(fā)聲語(yǔ)句使揚(yáng)聲器發(fā)聲12.4.2 利用利用OLE2.0控件播放音頻控件播放音頻12.4.3 利用利用MCI32控件播放音頻及控件播放音頻及MIDI音樂音樂12.4.4 調(diào)用調(diào)用API函數(shù)播放音頻函數(shù)播放音頻12.4.5 MP

23、3的播放方法的播放方法12.4.1 利用利用Beep語(yǔ)句使揚(yáng)聲器發(fā)聲語(yǔ)句使揚(yáng)聲器發(fā)聲12.4.1 利用利用Beep語(yǔ)句使揚(yáng)聲器發(fā)聲語(yǔ)句使揚(yáng)聲器發(fā)聲12.4.2 利用利用OLE2.0控件播放音頻控件播放音頻12.4.3 利用MCI32控件播放音頻及MIDI音樂12.4.3 利用MCI32控件播放音頻及MIDI音樂12.4.4 調(diào)用調(diào)用API函數(shù)播放音頻函數(shù)播放音頻12.4.4 調(diào)用調(diào)用API函數(shù)播放音頻函數(shù)播放音頻12.4.5 MP3的播放方法的播放方法12.4.5 MP3的播放方法的播放方法12.5 VB視頻處理技術(shù)視頻處理技術(shù)12.5.1 利用利用Animation控件播放控件播放AVI文件

24、文件12.5.2 利用利用API函數(shù)函數(shù)MciSendString()播放播放AVI文件文件12.5.3 利用利用API函數(shù)函數(shù)MciExecute()播放播放AVI文件文件12.5.4 利用利用MMControl控件播放控件播放AVI文件文件12.5.5 利用可插入對(duì)象中的電影剪輯控件播放利用可插入對(duì)象中的電影剪輯控件播放AVl文文件件12.5.6 利用利用OLE控件播放控件播放AVI文件文件12.5.1 利用利用Animation控件播放控件播放AVI文件文件12.5.2 利用利用API函數(shù)函數(shù)MciSendString()播放播放AVI文件文件12.5.2 利用利用API函數(shù)函數(shù)MciS

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論