版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、20052005年年 8 8月月第第9章章 多媒体多媒体编程技术编程技术 9.1 9.1 图形、图像对象和组件图形、图像对象和组件 9.1.1 9.1.1 图形对象图形对象 9.1.2 9.1.2 图像对象和组件图像对象和组件 9.29.2 播放声音和视频播放声音和视频 9.2.1 9.2.1 使用使用PlaySoundPlaySound播放声音播放声音 8.2.2 8.2.2 使用使用Media PlayerMedia Player组件播放视频组件播放视频小结小结习题习题8 8第第9章章 多媒体多媒体编程技术编程技术 多媒体技术是9 0年代以来计算机技术的一个重要发展方向,本章将对图形、图像
2、及其他多媒体技术进行剖析,并将介绍使用Delphi 7 开发多媒体程序的方法和技巧。 9.1 9.1 图形、图像对象和组件图形、图像对象和组件 Delphi 7中定义了许多图形对象用来支持图形的绘制和显示,同时也提供了许多的图像组件来支持各种图像的操作9.1.1 9.1.1 图形对象图形对象 1.画布对象 (1)MoveTo(x,y : Integer); (2)LineTo(x,y : Integer); (3)Rectangle(X1,y1,x2,y2 : Integer); (4)Ellips(x1,y1,x2,y2 : Integer); (5)Textout(X,Y:Integer;
3、const text:string);2. 画笔对象画线的方法(1) Moveto方法,作用是将画笔移到指定位置,使用方法为:moveto(x,y,integer)。(2) lineto方法,作用是画一条到指定位置的直线段,线段起始位置由画布对象的Penpos属性值即画笔的当前位置确定。使用方法为:lineto(x,y: Integer)。(3) 画折线的方法,使用方法为Polyline(points:array of TPoint)。2. 画矩形的方法3. 画圆或椭圆的方法4. 画弧形曲线的方法5. 圆角矩形3. 画刷对象画刷对象 画布的画刷(Brush)属性决定图形内部区域的填充方式。1.
4、 画刷的属性(1) 颜色属性(Color)。Canvas.Brash.Color: =属性值属性值 (2) 风格属性(Style)。(3) 位图属性。2. 作图区域作图区域Rect是Trect属性的对象,同时也是一个函数。Rect对象的作用就是定义一个矩形区域对象。Rect对象用两个Tpoint类型或用四个整形变量指明区域范围。下面举例说明各个对象的应用。【例9-1】综合利用画笔,画刷以及画布对象的例子。要求可以绘制至少三种图形,并可以改变画笔,画刷的颜色以及风格。 (1)界面设计 (2) 属性设置 procedure TForm1.FormShow(Sender: TObject); beg
5、in comb_graph.Clear; /显示绘制图形组合框清空 comb_graph.Items.Add(矩形); /添加项目 comb_graph.Items.Add(椭圆); comb_graph.Items.Add(多边形); comb_pencolor.clear; comb_pencolor.Items.Add(clred); /画笔颜色选择组合框添加项目 comb_pencolor.Items.Add(clbalck); comb_pencolor.Items.Add(clgreen); comb_pencolor.Items.Add(clblue); comb_pencolo
6、r.Items.Add(clyellow); comb_brushcolor.clear; comb_brushcolor.Items.Add(clred); /画刷颜色选择组合框添加项目 comb_brushcolor.Items.Add(clbalck); comb_brushcolor.Items.Add(clgreen); comb_brushcolor.Items.Add(clblue); comb_brushcolor.Items.Add(clyellow); comb_penstyle.clear; comb_penstyle.Items.Add(pssolid); /画笔风格选
7、择组合框添加项目 comb_penstyle.Items.Add(psdash);comb_penstyle.Items.Add(psdot); comb_penstyle.Items.Add(psdashdot); comb_brushstyle.clear; comb_brushstyle.Items.Add(bssolid); /画刷风格选择组合框添加项目 comb_brushstyle.Items.Add(bsClear); comb_brushstyle.Items.Add(bshorizontal); comb_brushstyle.Items.Add(bsvertical);en
8、d;procedureprocedure TForm1.Button1Click(Sender: TObject);varvar pp:array1.4 of tpoint; /定义存储绘图顶点的数组。 pc,bc:tcolor;/画笔和画刷的颜色变量 beginbegin pp1.X:=10;pp1.Y:=10;pp2.X:=100;pp2.Y:=100; pp3.X:=140;pp3.Y:=180;pp4.X:=160;pp4.Y:=50; case case (comb_pencolor.ItemIndex) of of /取出选择的画笔颜色常量值 0:pc:=clred; 1:pc:=
9、clblack; 2:pc:=clgreen; 3:pc:=clblue; 4:pc:=clyellow; end; end; case (comb_brushcolor.ItemIndex) of /取出选择的画刷颜色常量值 0:bc:=clred; 1:bc:=clblack; 2:bc:=clgreen; 3:bc:=clblue; 4:bc:=clyellow; end; end; paintbox1.Canvas.Pen.Color:=pc; /设置画笔颜色 paintbox1.Canvas.Pen.style:= tpenstyle(comb_penstyle.ItemIndex)
10、; /设置画笔风格 paintbox1.Canvas.brush.Color:=bc;/设置画刷颜色 paintbox1.Canvas.brush.style:=tbrushstyle(comb_brushstyle.ItemIndex); /设置画刷风格 if comb_graph.Text=矩形 then paintbox1.Canvas.Rectangle(pp1.x,pp1.y,pp2.x,pp2.y) else if comb_graph.Text=椭圆 then paintbox1.Canvas.Ellipse(pp1.x,pp1.y,pp3.x,pp3.y) else if co
11、mb_graph.Text=多边形 then paintbox1.Canvas.Polygon(pp);end;end;procedureprocedure TForm1.Button2Click(Sender: TObject);beginbegin paintbox1.Repaint; /通过重画擦除图形end;end;9.1.2图像对象和组件 Delphi中支持使用的图像格式有JPEG,BMP,ICO,EMF和WMF格式的文件,其中最为常用的是JPEG和BMP格式。Delphi提供了一些图像对象和组件来支持这些格式的图像,下面介绍一些主要对象。 1.TGraphic对象 TGraphic
12、对象是TBitmap ,TIcon,Tmetafile对象的基类。如果知道图像的具体类型( 如位图, 图标元文件) , 则应将图像贮存在相应类型的对象中( 如TBitmap,TIcon,Tmetafile),否则应该使用可贮存任何图像类型的TPicture对象。 2.TPicture对象TPicture对象可以保存位图、图标或元文件。Graphic属性中包括图像的类型;图像的高度和宽度分别定义在Height,Width属性中;调用LoadFromFile方法,可以从文件中装载一幅图像。 3.TBitmap Object 位图对象 位图对象包含一个位图图像,位图对象也有画布属性。 4.TImag
13、e部件 TImage部件用以在窗体中显示图像,它的Picture 属性保存着要显示的图像, 这是一个TPicture对象。 【例9-2】TImage组件的使用。当在文件列表框中选择文件时,将显示在左边的Timage部件中。可以过滤文件的类型和选择不同的驱动器。(1)界面设计 (2)属性设置 (3)程序设计procedureprocedure Tform1.FileListBox1Click(Sender: TObject); var var FileExt: string4; /存储文件扩展名 beginbegin FileExt := UpperCase(ExtractFileExt(Fil
14、eListBox1.Filename); if if (FileExt = .BMP) or (FileExt = .ICO) or (FileExt = .WMF) thenthen begin begin Image1.Picture.LoadFromFile(FileListBox1.Filename); Label1.Caption := ExtractFilename(FileListBox1.Filename); if if (FileExt = .BMP) thenthen beginbegin Label1.Caption := Label1.Caption + Format(
15、 (%d x %d), Image1.Picture.Height, Image1.Picture.Width); end; end; end; end;end;end; 9.2 9.2 播放声音和视频播放声音和视频 声音和视频是多媒体技术中另外一个比较重要的内容。本节将介绍如何使用Windows API函数PlaySound播放声音和使用ciSendString来获取CD的信息并控制CD的播放,以及使用Media Player组件来播放视频。9.29.2使用PlaySound播放声音PlaySound是Windows API函数。在Delphi中可以方便地调用该函数来播放指定文件名、资源中的
16、或与系统时间相关联的声音。其函数原形如下: Bool playsound(LPCSTR pszSoud,HMODULE hmod,DWORD fdwSound); 打开一个要播放文件的步骤: (1)打开任何一个文本编辑软件,在文件中输入DING WAVE c:windowsmediading.wav,并以文件名Wave.rc保存文件到应用程序文件夹中。(2)使用Delphi中的Brcc32.exe,该文件位于安装delphi的目录下的bin文件夹中。(3)使用该资源文件需要使用以下代码。 $R *.dfm $R wave.res procedure TForm1.Button1Click(Se
17、nder: TObject); begin playsound(ding,hinstace,snd_resource); end; 9.2.2 使用Media Player组件播放视频 Delphi中提供了一个叫做Media player的组件,它封装了Windows Media Controlinterface(MCI)的大部分功能,这使得我们不必编写大量的Windows底层函数去和Windows MCI接口打交道而直接就可以操纵视频文件。 1.属性 (1) DeviceType属性 (2) Filename属性 (3) Visible buttons属性(4)AutoOpen属性(5)st
18、art,startPos属性。2.方法 常用方法有Open Play Rewind等。3.事件 常用事件有Onclick OnNotify 和OnPostClick。【例9-3】设计视频播放的应用程序。(1)界面设计 (2)属性设置 (3)程序设计 procedureprocedure TForm1.BitBtn1Click(Sender: TObject); begin begin if if OpenDialog1.Execute thenthen begin begin edit1.Text:=opendialog1.FileName; /打开文件 mediaplayer1.FileName:=opendialog1.FileName; mediaplayer1.AutoOpen:=true; /设置属性为自动打开 mediaplayer1.Open; /播放文件 mediaplayer1.Notify:=true; /设置消息通知 end;end; end; end; (4)AutoOpen属性(5)start,startPos属性。2.方法 常用方法有Open Play Rewind等。3.事件 常用事件有Onclick OnNotify 和OnPostClick。本章小结本章小结 多媒体技术一般
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度大型物流仓储设施建设合同
- 二零二四年度农业知识产权保护合同
- 2024年度版权代理合同:作者委托代理机构处理版权事务
- 防蛇合同范本
- 2024年度租赁合同详细规定
- 2024年度数据中心建设与运营管理合同
- 2024年度版权出版担保合同
- 二零二四年度外墙保温工程环境污染责任合同
- 水管中标合同范本
- 惠州装修协会合同范本
- 2022年衬塑管行业标准和钢塑管国家标准
- 锅炉浇注料施工方案
- 矿山地质环境保护与治理恢复方案(技术标)投标文件
- 七年级动点问题大全给力教育课资
- 农村土地承包法解说PPT课件
- 儿童英文自我介绍课件PPT
- 厂房、设施、设备维护保养计划(完整版)
- 供应商冲突矿产调查表填写说明[沐风教学]
- 人教中职数学球PPT学习教案
- [QC成果]户外主变安装防坠落悬挂装置的研制范本
- 技工院校安全管理工作总结
评论
0/150
提交评论