基于VB的应用程序中多媒体技术实现的研究.doc_第1页
基于VB的应用程序中多媒体技术实现的研究.doc_第2页
基于VB的应用程序中多媒体技术实现的研究.doc_第3页
基于VB的应用程序中多媒体技术实现的研究.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于VB的应用程序中多媒体技术实现的研究摘要 以数控车床仿真系统为例,介绍了在VB中多媒体技术实现的方法。对图形、图像、声音、动画等媒体在VB中的实现进行了分析,还说明了光标图形与非矩形界面的处理以及控件精确定位等问题。关键词 VB;应用程序;多媒体;控件The Study On Realizing Multimedia Technique Based On Application Of VBAbstract The paper introduces the method of realizing multimedia technology in VB by using the example of Lathe Numerical Control Emulation System. It analyses multimedia technology realizing in VB about graphics, image, sound and animation ect, explains questions of curor shapes, non-rectangle interface and control positioning accurately.Key words VB; application; multimedia; control object 1、 引言目前,在制造业计算机数字控制技术(CNC)的应用十分广泛,如常见的有数控车床、铣床、加工中心等。在数控技术应用的教学中,可用VB来开发数控车床仿真应用程序。VB以其界面友好、编程简单、可实现多媒体的交互而深受众多程序开发人员的喜爱。笔者用VB开发了一个数控车床仿真系统,其中怎样实现多媒体效果及友好的多媒体交互方式对应用程序的使用性而言是一个很关键的问题。多媒体的应用程序,除了常采用声音外,在窗体和控件中还要使用大量的图形、图像、动画、视频等,有时为使应用程序的界面与交互效果更加友好还要实现动态按钮、光标图形、非矩形窗口、控件精确定位等多媒体技术。下面就这些多媒体技术在VB开发的应用程序中的实现进行分析:2、 图形和图像的使用设计多媒体应用程序的用户界面时,适当地加入一些图形信息会使界面显得丰富多彩、形象逼真。可用VB的图片框(Picture Box)控件和图像框(Image)控件来载入图形或图像。21、图片框控件211、图片框支持的图形类型有位图文件(*.bmp和*.dib)、图标文件(*.ico)、光标文件(*.cur)、Windows元文件(*.wmf)、增强型元文件(*.emf)、JPEG文件和GIF文件等。212、图片框可作为其它控件的容器,在其上可添加各种控件,这些控件将随图片框的移动而移动,且它们的Top和Left属性是相对于图片框的,与窗体无关。因此,图片框控件适合用来载入整个用户界面的背景图形。如选取与工业生产有关的图片作为数控车床仿真系统的背景图形。213、图片框的Picture属性用于将图形加载到图片框中,加载时,需要调用LoadPicture函数,例如:PicMyBmp.Picture = LoadPicture(“C:MyBmpMypic.bmp”)214、图片框的AutoSize属性为False时,载入的图形保持原始尺寸,图形比图片框大,将被剪掉。要使图片框能自动调整大小,可将AutoSize属性设为True。如果加载的是Windows元文件,AutoSize属性为False时,图形会自动调整大小来适应图片框的大小。215、图片框的图形方法和Print方法。可用Pset、Point、Line、Circle等方法在图片框中画图,用Print方法在图片框中输出文本。例如,界面标题的显示:PicMyBmp.AutoRedraw = TruePicMyBmp.Print “欢迎使用数控车床仿真系统”22、图像框控件图像框控件也可用来显示图形,加载方法与图片框控件一样,可通过Picture属性来设置,运行时也要调用LoadPicture函数。图像框不能作为容器,它占用的系统资源比图片框少,因而加载的速度比图片框快。图像框的Stretch属性为False时,图像框会自动改变大小来适应图形,Stretch属性为True时,图形会自动改变大小来适应图像框。图像框常与图片框一起来创建应用程序的工具栏。例如,可用于数控车床仿真系统刀库工具栏的创建。3、 声音的使用在VB环境里,可以使用多种方式播放声音文件,包括wav文件、mp3文件、midi文件,既可以使用VB自身提供的Multimedia MCI控件,或者ActiveX控件,又可以使用API函数播放这些声音文件。使用控件和API函数的区别主要在于控件具有可视化的外观和操作按钮,而API函数则需要使用消息控制机制。在数控车床仿真系统中,分别使用了MediaPlayer(Msdxm.ocx)和API函数(SndPlaySound)播放相关的声音文件。MediaPlayer是一个性能优越的媒体播放控件,几乎能播放当前所有的媒体格式,并且具有自定义外观的功能,用户可以根据需要定制它的外观;该控件在播放时能够随时响应用户的鼠标事件和键盘消息,便于控制。在播放数据量很大的声音时,如背景音乐、切削加工音等,可使用该控件。SndPlaySound()函数的原型如下面所示,只要正确设置了该函数的两个变量值,就可以很方便地使用,在播放很短的wav声音,如换刀复位音、起动和停止音等可使用它。Public Declare Function sndPlaySound Lib “winmm.dll” Alias “sndPlaySoundA”(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long。另外,Beep函数是VB中最简单的发声函数,可发出多种蜂鸣声,使用它可以模拟数控系统的报警声。4、动画的使用在现实生活中,许多操作、处理和事物的变化都是连续性的,使用动画过程能够形象、准确、生动地描述这些连续的处理、操作和变化。在应用程序里,使用动画仿真,能够增强操作和处理的现实性、逼真性和透明性。可使用以下几种方式处理程序中的动画过程:41连续的动画制作。使用3DSMAX等3D动画制作软件来实现。但是这种方式的最大不足是数据量太大、占用内存过多,因此该方式使用得很少。42使用Ulead GIF Animator5软件。可制作精巧的GIF格式图片,再用GifAni这样一种AxtiveX控件来加载图片,用它的ReadGifFile方法、AutoSize属性、Enabled属性等控制动画的播放,这种方法占用的内存小,如在数控车床仿真系统中设备选型时设备的外观显示等。43使用VB控制。对一些实际操作的连续过程,进行采样,抽取关键的状态作为静止画面;在播放时使用VB的控制功能,使一些静止画面连续出现,形成动画效果。在VB环境里,可以使用Timer控件、Move方法等VB提供的功能实现这些操作。如刀具加工时的运行过程就可采用这种方法来实现。44使用VB绘画。VB本身是具有绘画功能,可以Pet方法、Line方法、Circle方法、Cls方法来画出点、线、圆(椭圆)、圆弧,再用Timer控件控制,能显出精细的动画,这种方法特别适合演示物体的组成、运动,但它的程序略显复杂。如毛坯轮廓的形成过程。45使用透明动画。有时透明动画会使画面更加生动。有两种情况:一是多帧透明动画,二是不规则图形的透明动画。对于前者,一般是要求在背景图像下固定范围内实现较复杂的透明动画,可以考虑利用图形编辑软件将产生动画的区域切割下来,并以图形文件的形式保存下来,然后利用VB强大的多媒体技术在背景图像的剪切部位播放动画;对于后者是要允许用户控制操作对象在屏幕各处移动,由于目标移动的方向和位置要随用户的随时控制,因此要想用第一种方式实现比较困难,我们考虑采用BitBlt()函数的多种dwRop光栅操作来实现。5、光标的处理光标图形(CUR)是所有Windows光标的格式,CUR是一种特殊的二位图形,用以指示鼠标的当前位置。既可以使用Windows中预定义的默认光标,还可以定义自己的专用鼠标,以增加程序的美观性,其图形可以用ImageEdit编辑。光标可以向用户指示关于应用程序状态的重要反馈信息。例如,如果程序忙于某个任务,则显示一个等待鼠标,随后,在操作完成时,会将沙漏光标复位为标准光标。无论使用何种光标,一定要让用户感到简单和直观。在VB中,可以用专用光标来表示鼠标指针。通过生成自己的光标,可以使应用程序更具特点,也可以用更有意义的方式显示用户操作的当前状态。VB用MousePointer属性(其值必须为99)和MouseIcon属性设置光标并装入图标。装入图标时,光标图形变成CUR格式。在应用程序中可根据系统的实际情况编辑好几种图标样式,如不同角度的车刀用相应的图形光标来表示这种刀具正在使用。6、非矩形窗口的建立传统的Windows窗口都是矩形的,这使得软件界面显得有些死板,现在越来越多的软件界面突破了千篇一律的矩形窗口,屏幕显得更加丰富多彩。在VB中要实现非矩形窗口,要利用Windows API函数,使用前要先declare(声明),还要用到Set Window Rgn函数设置窗口的形状,用Create Ploygon Rgn函数生成多边形形状,用Get CursorPos捕获当前鼠标位置。7、控件拖动时的精确定位在VB中,窗体和控件都有随鼠标拖动窗体和控件的DragDrop事件,按一般方法编写程序,存在一些问题:在小范围内,没有移出控件自身,拖动时,控件拖不动;当大范围内拖动时,拖动结束时,其定位与拖动时的灰色显示框不符。为解决这些问题采取如下方法:71增加源对象的MouseDown事件过程,声明窗体级变量StartX、StartY、DistanceX、DistanceY来记录开始拖动的位置及鼠标离控件端点位置。程序如下:Sub Source_MouseDown (Button As Interger, X As Single, Y As Single)Source.Drag1 开始拖动StartX = Source.Left 记录拖动时控件左边位置StartY = Source.Top 记录拖动时控件顶点位置DistanceX = X 记录鼠标到控件左边距离DistanceY = Y 记录鼠标到控件顶端距离End Sub72增加源对象的MouseUp事件过程来设定拖动完成。Sub Source _MouseUp(Button As Interger, X As Single, Y As Single)Source.Drag2 结束拖动Source.MousePointer = 0End Sub73利用DragDrop事件来完成控件拖动的精确定位。Sub Source_DragDrop(Source As Control, X As Single, Y As Single) 小范围内拖动Source.Left = StartX + X DistanceXSource.Top = StartY + Y DistanceYEnd SubSub Object_DragDrop(Source As Control, X As Single, Y As Single) 大范围内拖动Source.Left = X DistanceXSource.Top = Y DistanceYEnd Sub8、影像文件的播放VB对影像文件的播放是比较自由的,MediaPlayer控件能播放几乎所有格式的文件,并且能很好地控制播放速度和播放画面大小。但对一些没有声音的影像文件,可以转换成AVI格式,用Animation控件来播放,这样做最大的优点是可以节省运行空间,并且在播放的同时,不影响其他进程的运行。9、动态按钮的实现良好的界面设计不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论