第12章 Visual Basic多媒体程序设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第12章VisualBasic多媒体程序设计第12章VisualBasic多媒体程序设计本章重点多媒体项目的开发方法文本软件开发技术图形软件开发技术图像软件开发技术数字音频软件开发技术数字视频软件开发技术动画软件开发技术第12章VisualBasic多媒体程序设计12.1基本概念12.2VB图形处理技术12.3VB图像处理技术12.4VB音频处理技术12.5VB视频处理技术12.6VB动画处理技术12.7小结12.1基本概念VisualBasic(简称VB)是Microsoft公司推出的基于Windows平台的程序开发工具,其程序设计风格与传统设计方法不同,它采用面向对象和事件的程序设计方法,是一种采用事件驱动编写机制的语言。VB专业版中提供了MCI(MediaControlInterface)的控件。利用VB,可以编程处理文本、图形、图像、音频、视频、动画等多媒体数据,以设计或构造适合不同需求的多媒体应用系统。在多媒体程序设计方面,VB不但自身提供了控制对象及多媒体控件,还提供了对众多第三方多媒体控件的支持及API函数的调用。12.1基本概念VB涉及三个重要概念:(1)窗口。窗口是一种有边界的矩形区域,例如,资源管理器窗口、Word的文档窗口、对话框窗口、按钮、图标、菜单条等。(2)事件。事件是通过鼠标、按键的操作、程序的控制或其他窗口所产生的操作或行为。(3)消息。发生事件时就引发一条消息并发送到操作系统。VB采用事件驱动模型。在事件驱动模型中,程序代码不是按照预定的顺序执行,而是在响应不同的事件时执行不同的代码片断。Windows操作系统通过给每一个窗口提供一个唯一的标识符(窗口句柄Hwnd)来管理所有的窗口。操作系统连续地监视每一个窗口的活动或事件信号。当发生事件时,将引发一条消息,操作系统处理该消息并广播给其他窗口。最后,每一个窗口根据自身处理该条消息的指令而采取适当的操作。12.2VB图形处理技术12.2.1VB坐标系统及图形格式12.2.2PaintPicture方法和BitBltAPI函数12.2.3绘图方法程序实例12.2.1VB坐标系统及图形格式在VB中,坐标系统是一个二维网格,可定义屏幕上、窗体中或其他容器中的位置。使用窗体中的坐标(x,y),可定义网格上的位置。其中x值是沿x轴的位置,最左端的值是0;y值是沿y轴的位置,最上端的值是0。VB可以支持的图形格式有位图(.bmp)文件、设备独立位图(.dib)文件、图标(.ico)文件、光标(.cur)文件、元(.wmf)文件、增强的元文件(.emf)、GIF(.gif)文件以及JPEG(.jpg)文件.12.2.2PaintPicture方法和BitBltAPI函数PaintPicture的基本功能是图像块传输。它能快速地将两幅位图进行合并;能将位图的全部或某一部分快速剪切并粘贴到其他地方;能将位图自动延伸或压缩以适应新的环境;能在屏幕上不同位置之间、屏幕与内存之间传递位图;它采用32位三元光栅操作代码(RasterOp),在源位图、选定的子位图和目标位图之间进行颜色组合,生成目标位图中的最终颜色;它将13个常用RasterOp操作以内部常量形式给出,不需任何声明。12.2.2PaintPicture方法和BitBltAPI函数PaintPicture方法作用:在Form、PictureBox或Printer上绘制图形文件(.bmp、.wmf、.emf、.cur、.ico或.dib)的内容。语法:Object.PaintPicturepicture,x1,y1,widthl,height1,x2,y2,width2,height2,opcode。Object是可选项。其值可以为窗体、PictureBox控件或Printer。Picture为必选项,指定要绘制到Object上的图形源。x1,y1必选项,均为单精度值,指定在Object上绘制Picture的目标坐标。Width1可选项,单精度值,指示Picture的目标宽度。Height1可选项,单精度值,指示Picture的目标高度。x2,y2可选项,均为单精度值,指示Picture内剪贴区的坐标(x-轴和y-轴)。Width2可选项,单精度值,指示Picture内剪贴区的源宽度。Height2可选项,单精度值,指示Picture内剪贴区的源高度。opcode可选项,是长型值或仅由位图使用的代码,该参数与BitBlt中dwRop参数含义相同。表示源位图与目标位图的组合关系,用来定义在将Picture绘制到Object上时对Picture执行的位操作。12.2.2PaintPicture方法和BitBltAPI函数BitBltAPI函数作用:与PaintPicture方法相同。函数声明:DeclareFunctionBitBltLibgdi32AliasBitBlt(ByValhDestDCAsLong,ByValxAsLong,ByValyAsLong,ByValnW记thAsLong,ByValnHeightAsLong,ByValhSrcDCAsLong,ByValxSrcAsLong,ByValySrcAsLong,ByValdwRopAsLong)AsLong12.2.2PaintPicture方法和BitBltAPI函数参数说明:hDestDC:目标设备环境x:目标左上角坐标y:目标顶端坐标nWidth:目标宽nHeight:目标高hSrcDC:源设备环境xSrc:源左上角坐标ySrc:源顶端坐标dwRop:位处理操作,与PaintPicture方法相同。12.2.3绘图方法程序实例下面介绍的“真彩色画板”可以在一个画图区域内,以任意的颜色,绘制任何曲线。程序中用Line绘图方法与鼠标的MouseDown及MouseMove事件,并使用RGB(Red,Green,Blue)函数选取画笔颜色,实现具体的绘图操作。(1)各对象属性设置如下:BeginVB.FormForm1BackColor=&H80000001&Caption=简单的真彩色画板ClientHeight=7425ClientLeft=1665ClientTop=1950ClientWidth=996012.2.3绘图方法程序实例BeginVB.PictureBoxPicture2Appearance=0'FlatBackColor=&H80000005&ForeColor=&H80000008&Height=1785Left=8130Picture=Form1.frx:0000ScaleHeight=1755ScaleWidth=1755TabIndex=15Top=300Width=1785End12.2.3绘图方法程序实例BeginVB.HScrollBarHScroll3Height=375Left=8250Max=255TabIndex=7Top=5820Width=1575EndBeginVB.HScrollBarHScroll2Height=375Left=8250Max=255TabIndex=6Top=5100Width=1575End12.2.3绘图方法程序实例BeginVB.HScrollBarHScroll1Height=375Left=8250Max=255TabIndex=5Top=4380Width=1575EndBeginVB.CommandButtonCommand4Caption=退出BeginPropertyFontName=宋体Size=1212.2.3绘图方法程序实例Charset=134Weight=400Underline=0'FalseItalic=0'FalseStrikethrough=0'FalseEndPropertyHeight=495Left=6210TabIndex=4Top=6780Width=1455EndBeginVB.CommandButtonCommand3Caption=清屏BeginPropertyFontName=宋体Size=12Charset=134Weight=400Underline=0'FalseItalic=0'FalseStrikethrough=0'FalseEndProperty12.2.3绘图方法程序实例12.2.3绘图方法程序实例Charset=134Weight=400Underline=0'FalseItalic=0'FalseStrikethrough=0'FalseEndPropertyHeight=495Left=2130TabIndex=2Top=6780Width=1455End12.2.3绘图方法程序实例BeginVB.PictureBoxPicture1AutoRedraw=-1'TrueBackColor=&H80000009&Height=6015Left=330ScaleHeight=5955ScaleWidth=7035TabIndex=0Top=300Width=7095End12.2.3绘图方法程序实例Size=12Chatset=134Weight=400Underline=0'FalseItalic=0'FalseStrikethrough=0'FalseEndPropertyHeight=495Left=90TabIndex=1Top=6780Width=1455End12.2.3绘图方法程序实例程序代码如下'在窗体Forml的声明段声明以下变量DimpaintnowAsBooleanDimstartXAsSingle,startYAsSingleDimredAsInteger,greenAsInteger,blueAsIntegerPrivateSubCommand1_Click()'变量file_name用于保存用户输入的要打开的文件的文件名Dimfile_nameAsStringfile_name=InputBox(请输入路径\文件名:,打开文件)'如果文件不存在,则显示”文件未找到”的对话框,否则将指定的图形文件载入赋给'图片框的Picture属性(即在图片框中显示打开的图形文件),并设置”保存”命令按钮'获得焦点12.3VB图像处理技术12.3.1在图片上平滑移动文字12.3.2图像的滚动显示和缩放12.3.3屏幕图像的捕捉12.3.1在图片上平滑移动文字在很多电影及游戏的结尾,我们可以看到文本在图片上平滑地卷到屏幕的上方,在VB中,可以使用以下方法实现此“特技”:新建工程文件,并创建Forml。在Forml上放置PictureBox控件Picture1,选定背景图片。另外,放置一个Timer控件Timer1,设置Enabled属性为True,设置Interval为100(Interval决定文本移动速度)。单击选择Picture1,在PictureBox的底部放置Label控件Label1,并设置Label1的BackStyle属性为0(透明——即控件后的背景色和任何图片都是可见的),设置Caption为待移动的字符串12.3.2图像的滚动显示和缩放12.3.2图像的滚动显示和缩放12.3.3屏幕图像的捕捉12.3.3屏幕图像的捕捉12.3.3屏幕图像的捕捉12.4VB音频处理技术12.4.1利用Beep语句使扬声器发声12.4.2利用OLE2.0控件播放音频12.4.3利用MCI32控件播放音频及MIDI音乐12.4.4调用API函数播放音频12.4.5MP3的播放方法12.4.1利用Beep语句使扬声器发声12.4.1利用Beep语句使扬声器发声12.4.2利用OLE2.0控件播放音频12.4.3利用MCI32控件播放音频及MIDI音乐12.4.3利用MCI32控件播放音频及MIDI音乐12.4.4调用API函数播放音频12.4.4调用API函数播放音频1

1 / 61
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功