用VisualBasic60實現(xiàn)電影特效_第1頁
用VisualBasic60實現(xiàn)電影特效_第2頁
用VisualBasic60實現(xiàn)電影特效_第3頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、用Visual Basic6.0實現(xiàn)電影特效作者:日期:用Visual Basic6.0實現(xiàn)電影特效作者:佚名來源:In terNet加入時間:2005-1-28相關文章:« 在 Visual Basic 6.0 中創(chuàng)建 Word 文檔« Visual Basic代碼優(yōu)化的六條軍規(guī)«利用Visual Basic操作XML數據« Visual Basic 小游戲:猜英雄相關書籍:« Visual Basic 6.0 應用編程 150 例« Visual Basic 6.0控件參考手冊« VISUAL BASIC 5 開發(fā) WE

2、B數據庫指 南« COOL 系列之 Visual Basic 6.0+VisualC+ 6.0« Visual Basic 語言參考-函數速查* Visual Basic 6中文版循序漸進教程* Visual Basic 6.0中文版語言參考手冊« Visual Basic 6.0中文版范例入門與提* Visual Basic 6.0 中文版程序員指南* Visual Basic 6.0 Comp onent ToolsGuide組件電影或電視中經常可見到一些字幕或圖片的動態(tài)變化特技,在制作多媒體教學軟件或廣告宣傳等多媒體演示文檔時,也常常需要用到一些圖文的動態(tài)變

3、化效果。VB6.0作為Windows軟件的強有力開發(fā)工具,在多媒體程序設計方面具有廣闊的應用前景。本文 討論運用VB6.0的定時器并結合Windows API函數實現(xiàn)圖片或文字的動態(tài)縮放和漸隱 漸現(xiàn)等特技效果。、實現(xiàn)圖文動態(tài)縮放和漸隱漸現(xiàn)特效的程序方法1、程序界面取窗體名為Form1 ,其Windowstate屬性設為2。在窗體Form1中設置如下控件 和屬性:一個標簽控件 Label1,其 backcolor 等于 form1 的 backcolor; bondstyle 為 0, Autosize 為 True。一個圖像控件 image1,其 Stratch 和 Visible 均為 Tr

4、ue ; Bordstyle 為 0。兩個圖片框控件Picture1 和 Picture2, Visible 屬性 Picture1 為 False 而 Picture2為 True; AutoRedraw 屬性 Picture1 為 True 而 Picture 為 False; ScaleModel 屬性兩者 均為Pixels; Bondstyle 屬性兩者均為 0。三個定時器控件 Timer1,Timer2 和Tirner3;命 令按鈕控件數組cmd(0),,Cmd(4),其caption屬性分別為:文字縮放”、圖片縮放”、 文字隱現(xiàn)”、圖片隱現(xiàn)”和退出”。2、文字的動態(tài)縮放通過VB6.

5、0的定時器控件定時改變文字的Size屬性,就可達到文字被動態(tài)放大或縮小的效果。程序中通過 timerl的tuner過程來控制標簽 Labell的caption屬性文字 大小。由cmd(O)觸發(fā)的cmd_click事件引發(fā)timer1_ time過程,通過一邏輯變量1(0)(數 組元素)控制文字的變化方式,1(0) = true時使字體動態(tài)放大,1(0) = false時使字體動 態(tài)縮小。3、圖形的動態(tài)縮放將圖像控件image1的stretch屬性設為true,可實現(xiàn)控件中圖片大小隨imagel控件大小的變化而變化。通過定時器timer2的tuner過程定時改變imagel控件的尺寸大小,就達到

6、了使圖片動態(tài)縮放的效果。由cmd(1)觸發(fā)的cmd_click事件將引發(fā)timer2_time過程,通過邏輯變量1(1)控制圖片變化的方式,1(1)=true時控制圖片動態(tài) 放大,1(1)=false時控制圖片動態(tài)縮小。4、文字的漸隱漸現(xiàn)效果從字符串中取若干個文字作為標簽Label1的caption值,如果從字串中截取的文字數遞增(直到等于字串的全部字數),則實現(xiàn)文字漸現(xiàn)效果;而截取的文字如果遞減(從字串的全部字數減到0),則實現(xiàn)文字漸隱效果。通過定時器timer3的time:過程定時改變截取的字數,來達到此效果。由cmd(2)觸發(fā)的。md_click事件引發(fā)timer3 _time過程,通過

7、邏輯變量 1(2)控制文字變化的方式,1(2)=true時使文字漸現(xiàn),1(2)=false時 使文字漸隱。5、圖形的漸隱漸現(xiàn)效果用Windows API函數BitBlt復制圖片的方法實現(xiàn)。BitBlt函數的使用方法為:BitBlt hDestDC, x, y, nWidth, nHeight, hSrcDC, xSrc, ySrc,dwRop其中各參數的含義為:hDestDC和hSrcDC分別表示目標設備描述表句柄和源設備描述表句柄。即要把圖片從 hSrcDC復制到hDestDC。Picturellox控件的hDC屬性就 是我們要用到的設備描述表句柄。x, Y表示目標中左上角的位置, nWid

8、th, nHeight表示目標中的寬和高。 即要把圖片復制到目標設備描述表中的什么位置,以及復制多寬和多高。xsrc和ySrc表示源圖片中的左上角位置,即表示從什么位置開始復制。DwRop參數表示一種繪制方式,常用直接復制方式,這時就取SRCCOPY。、實現(xiàn)圖文動態(tài)縮放和漸隱漸現(xiàn)特效的程序代碼對全局變量和 API函數的通用聲明(API函數Sleep, BitBIt及其常參數 SRCCOPY 的聲明從略,可從 API瀏覽器中復制、粘貼):Dim 1(4) As Boolea n, i as Long, s As String, zt As In teger實現(xiàn)圖片漸現(xiàn)漸隱的通用過程:Privat

9、e Sub PicCpy(Optional strip As Integer=10, Optional delay As Integer=20)Dim plw As In teger, plh As In teger,p2 As In tegerIf 1(3)=True The n安裝程序.bmp")ElsePicture1=LoadPicture("")End Ifplw = Picturel.Widthplh=Picturel.Heightp2=0Do While p2<= plwBitBlt Picture2.hDC,p2,0, strip, plh,

10、 Picture1.hDC,p2,0,SRCCOPYp2=p2 + stripSleep delayDoEve ntsLoop由于圖片寬度不一定是strip的整數倍,故下面再全圖復制一遍圖片:BitBlt Picture2.hDC,0,0,plw,plh,Picture1.hDC,0,0,SRCCOPYEnd SubPrivate Sub Form_load()黑體"Image1.Top=0Image1.Left=0Picture2.Top=0Picture2.Left=Screen.Width - Picthne2.Widths="產生縮放和隱現(xiàn)效果的文字“zt=5

11、9;zt為字體大小控制變量i=0 'i為顯示文字時截取文字的字數變量End SubPrivate Sub Cmd_Click (Index As In teger)If 1(ln dex)=True Then1(I ndex)=FalseElse1(Idex) = TrueEnd IfSelect Case In dexCase 0 '激活 timer1 的 timer 過程Timerl.E nabled=TrueTimerl .In terval=50'Casel, 2與上述類似,分別激活timer2, timer3的timer過程Case 3 '調用圖片復制

12、過程PiccpyPiCpy 10, 50Case 4結束程序運行Un load MeEndEnd SelectEnd SubPrivate Sub Timer1_Timer()'實現(xiàn)文字縮放的過程If 1(0)=Trun The nzt=zt<+5ElseZt=Zt-5Else IfIf zt>50 or zt<=5 ThenTimer1.E nabled=FalseEnd IfWith Label1.Fon t.Size=zt丄 eft=(Form1.Width - Lable1.Width) /2.Top=(Form1.Height - Label1.Height

13、)/2End WithLabel1.Capti on=sEnd SubPrivate Sub Timer2_Timer()'實現(xiàn)圖片縮放的過程If 1(1)=True Then '使圖片放大Image1.Width=Image1.Width+Form1.Width/10Image1.Height=Image1.Height+Form1.Height/10Else '使圖片縮小Image1.Width=Image1.Width - Form1.Width/10Image1.Height=Image1.Height - Form1.Height/10End IfIf (Image1.Width >=Form1.Width/2) or (Image1.Width <=Form1.Width/10) ThenTimer2.E nabled=FalseEnd If安裝程序.bmp")End SubPrivate Sub Timer3.Timer()L

溫馨提示

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

評論

0/150

提交評論