用VB6.0制作多媒體影集
發表時間:2024-02-22 來源:明輝站整理相關軟件相關文章人氣:
[摘要]郝衛娟 當好友相聚時,如果你能夠拿出親手制作的一本多媒體影集,相信那優美的背景音樂和讓人眼花繚亂的特技效果一定會令他們贊嘆不已! 其實,這并不復雜,只要肯花些功夫,相信你一定可以制作出很好的作品!下面讓我們用VB開始工作吧! 一、創建運行界面 在Form1窗口添加以下主要控件: ...
郝衛娟
當好友相聚時,如果你能夠拿出親手制作的一本多媒體影集,相信那優美的背景音樂和讓人眼花繚亂的特技效果一定會令他們贊嘆不已!
其實,這并不復雜,只要肯花些功夫,相信你一定可以制作出很好的作品!下面讓我們用VB開始工作吧!
一、創建運行界面
在Form1窗口添加以下主要控件:
圖片框PictureBox(picdest,picsource):用以演示圖片素材。
定時器 (Timer1):控制音樂的循環播放。
定時器 (Timer2):控制圖片的循環播放。
媒體控制對象Microsoft Multimedia Control(mciwave):用以播放音樂。
二、編寫相片演示程序代碼
常見的特技圖像顯示方式主要有掃描、移動、百葉窗、馬賽克等。在這里,我們只示范二個常用的繪圖方式,如果有興趣,完全可以在此基礎上加以改動,得到更多的花樣。本文主要是用VB中的paintpicture方法來實現。
1) 掃描顯示方式
掃描顯示是動態繪圖技巧的最基本形式,其原理是將源圖像一行一行或一列一列地復制到目標區域,配合稍許的時間延遲及數據復制的方向,從屏幕上看就像是向下或向右依次將圖形掃描出來。
由上至下掃描顯示的實現方法是:從圖像的頂部向下一行一行地從源對象中將位圖復制到目標對象中,每復制一行后都加上一定的延時。下面的代碼將實現向下掃描顯示。(代碼中dest為目標對象,source為源對象,dtime為延遲時間。顯示圖像已裝入source。)
For j = 1 To 100
dest.PaintPicture source.Picture, 0, 0, picwidth, j stepy, 0, 0, picwidth, j stepy
Sleep dtime
Next j
根據掃描方向的不同,還有向上、向左、向右、水平平分和垂直平分等多種,其實現代碼大致相仿。
2) 百葉窗顯示方式
百葉窗顯示方式,就如關閉百葉窗一樣,圖像被分成一條一條地顯示出來。百頁窗顯示方式可分為垂直和水平兩種形式。
垂直百葉窗顯示的實現技巧是,首先將圖像垂直等分為n部分,分n次完成每部分圖像的向下掃描顯示。但掃描顯示時,依照差值掃描進行,即第i次顯示i、i+n、...i+jn、...條掃描線,比如第1次顯示1、9、17...條掃描線,第2次顯示2、10、18...條掃描線,直到圖像完整顯示。
垂直百葉窗顯示代碼如下:
scanline = n
For i = 0 To (scanline - 1)
For j = i To picwidth Step scanline
dest.PaintPicture source.Picture, j, 0, 1,
picheight, j, 0, 1, picheight
Next j
Next i
實現水平百葉窗顯示時,原理與上同,循環體代碼修改如下即可:
dest.PaintPicture source.Picture, 0, j, picwidth, 1, 0, j, picwidth, 1
三、編寫背景音樂程序代碼
1)關閉音樂closemusic()
If Not mciwave.Mode = 524
Then mciwave.Command =″close″
2)播放音樂playmusic()
closemusic
mciwave.DeviceType = ″WaveAudio″
mciwave.FileName =App.Path + ″\music\″+ ″
tears.wav″ ′在此處可以將你喜愛的音樂文件加入
mciwave.Command=″Open″
mciwave.Command = ″Play″
3)音樂播放完后設置重播狀態mciwave-Done(NotifyCode As Integer)
If firstflag Then firstflag = False
Timer2.Enabled = True
Timer2.Interval = 1000
4)定時器定時播放音樂Private Sub Timer2-Timer()
Timer2.Enabled=False
Playmusic
firstflag = True