- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基础综合 C++ Builder 的多媒体世界 在这个新的世代,图片、动画充斥在我们的身边,BCB当然也不能在多媒体这块区域缺席。在第9章我们将介绍各种多媒体组件的使用,也讨论有关绘图部分的设计,更深入探讨影像绘图处理上的速度,由于完整的组件支持,对于花俏功能的多媒体程序开发,对读者们来说已经不再是高深的程序。 大纲 9-1 Image组件的建立 9-2 ImageList组件的建立 9-3 Animate动画组件 9-4 MediaPlayer组件 9-5 绘图功能 本章习题 9-1 Image组件的建立 图形档案的表现是本章所要介绍最基本的功能,BCB提供图形加载的组件,可以方便的让我们操作图形显示和处理的动作,也就是本节所要介绍的Image组件。 Image组件不但可以让我们把图文件的内容显示在Image组件的显示范围之内,我们也可以针对开启的图文件存在组件属性里的数据作处理,也就是利用Image组件作为接口,让我们来编辑图形档案的内容。 Image图形组件的主要属性 图档的加载方式 我们可以用两种方法加载档案: 第一种最简单的就是用对象编辑器(Object Inspector)来手动放入档案: 我们在程序开发模式下在我们所建立的Image组件上面按两下鼠标左键,这时就会出现加载图文件的对话窗口,这时我们按下Load键就可以开启档案浏览的对话盒来指定要加载的档案。目前支持的图档格式有jpg,bmp,ico,emt,wmf等一般常见的档案格式。 另一种方式我们可以利用Picture属性里的LoadFromFile的函式 在程序执行时把图文件信息喂进去,除了在程序里面把档案的路径和名称写死,这样子在编译时期就决定了要载入的档案;我们还可以动态的指定档案,譬如说让使用者输入,或是可以藉由OpenDialog组件或是OpenPictureDialog组件让我们随意的开启所需要显示的图文件。 9-2 ImageList组件的建立 如果我们要设计的应用程序需要使用很多的图档,或是要大量的作图档的存取动作,将每个Image组件的加载动作都做设定是一件很费力的事情。这个时候我们也许会需要一个可以管理这些图形的方法。而TImageList组件顾名思义就是集中各个Image图像成为一个图像的列表,用意在可以让我们便于管理图像的存取,但是有一个非常重要的限制,就是列表中的图像大小要完全一样。 ImageList组件的重要属性 使用开发工具编辑ImageList 我们从右图里可以看到几个主要的部分,下面的Images里所显示的是目前List里所有的Image,当点选了之后可以在Selected Image格里看到预览画面,而每个图像的下面所显示的数字就是该图像在这个List里面的Index编号,这是很重要的信息,我们在存取时所要指定图像就得要知道该图像在列表里的编号。 使用程序代码编辑ImageList 除了用编辑画面加入图像,我们也可以在程序代码里利用内建的函式将图像加入列表里,如Add(),AddImage()等等。使用方式如: Add( Graphics::TBitmap* Image , Graphics::TBitmap * mask); 就是指定Bitmap格式的图像加入List里。另外显示图像的方式我们可以利用Draw()函式,方法如下: Draw(Graphics::TCanvas *, int x,int y,int Index); 就是给予绘图的组件,绘图的起始坐标x和y,以及要绘出图像在ImageList里的Index编号。 另外我们也可以利用Delete()和Clear()两个函式把ImageList既有的图像删除,Delete函式是指定单一图像一一删除,所以我们必须在使用Delete( )时要指定所要删除图像的Index编号,而Clear()函式则是将所有在列表里的图像全部删除,用法如下: Delete(int Index); Clear( ); 9-3 Animate动画组件 使用Animate动画组件可将动画控制功能加到Form里,动画组件是一种可以显示影音动画AVI档案。AVI档案是一系列连续的Bitmap图形所结合排列成的大量影像,连续拨放就像动画一样,而每一个显示画面的单位一般都称为frame。BCB所提供的这个动画表现的组件功能并不太完整,并不能拨放压缩过的AVI档案,只能拨放标准的AVI格式的档案,而这样的格式已经慢慢的被淘汰了。我们来介绍这个组件的运作方式,其实Animate动画组件的使用方式和下一节所要介绍的MediaPlayer的方式差不多,不过功能稍嫌阳春了些??耈 Animate动画组件的应用 I 首先在开启AVI档案方面,组件的FileName属性可以让我们设定成所要开启的档案,所以我们可以
文档评论(0)