多媒体编程技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
下面举例说明各个对象的应用。 【例9-1】综合利用画笔,画刷 以及画布对象的例子。要求可 以绘制至少三种图形,并可以 改变画笔,画刷的颜色以及风格。 (1)界面设计
(2) 属性设置 procedure TForm1.FormShow(Sender: TObject); begin
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_pencolor.Items.Add('clyellow'); comb_brushcolor.clear;
Delphi程序设计教程
2005年8月
第9章 多媒体编程技术
9.1 图形、图像对象和组件 9.1.1 图形对象 9.1.2 图像对象和组件
9.2 播放声音和视频 9.2.1 使用PlaySound播放声音 8.2.2 使用Media Player组件播放视频
小结 习题8
第9章 多媒体编程技术 多媒体技术是9 0年代以来计算机技术的一个重要发展方向
3. 画刷对象 画布的画刷(Brush)属性决定图形内部区域的填充方式。
1. 画刷的属性 (1) 颜色属性(Color)。 Canvas.Brash.Color: =〈属性值〉
(2) 风格属性(Style)。 (3) 位图属性。 2. 作图区域 作图区域Rect是Trect属性的对象,同时也是一个函数。Rect 对 象 的 作 用 就 是 定 义 一 个 矩 形 区 域 对 象 。 Rect 对 象 用 两 个 Tpoint类型或ห้องสมุดไป่ตู้四个整形变量指明区域范围。
2. 画笔对象 画线的方法 (1) Moveto方法,作用是将画笔移到指定位置,使用方法为: moveto(x,y,integer)。 (2) lineto方法,作用是画一条到指定位置的直线段,线段起始位 置由画布对象的Penpos属性值即画笔的当前位置确定。使用方法 为:lineto(x,y: Integer)。 (3) 画折线的方法,使用方法为Polyline(points:array of TPoint)。 2. 画矩形的方法 3. 画圆或椭圆的方法 4. 画弧形曲线的方法 5. 圆角矩形
,本章将对图形、图像及其他多媒体技术进行剖析,并将介绍使
用Delphi 7 开发多媒体程序的方法和技巧。 9.1 图形、图像对象和组件
Delphi 7中定义了许多图形对象用来支持图形的绘制和显示, 同时也提供
了许多的图像组件来支持各种图像的操作
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;const text:string);
comb_brushcolor.Items.Add('clblue'); comb_brushcolor.Items.Add('clyellow'); comb_penstyle.clear; comb_penstyle.Items.Add('pssolid'); //画笔风格选择组合框添加项目 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'); end; procedure TForm1.Button1Click(Sender: TObject); var pp:array[1..4] of tpoint; //定义存储绘图顶点的数组。 pc,bc:tcolor;//画笔和画刷的颜色变量 begin pp[1].X:=10;pp[1].Y:=10;pp[2].X:=100;pp[2].Y:=100; pp[3].X:=140;pp[3].Y:=180;pp[4].X:=160;pp[4].Y:=50; case (comb_pencolor.ItemIndex) of //取出选择的画笔颜色常量值 0:pc:=clred; 1:pc:=clblack; 2:pc:=clgreen; 3:pc:=clblue;
4:pc:=clyellow; end; case (comb_brushcolor.ItemIndex) of //取出选择的画刷颜色常量值
0:bc:=clred; 1:bc:=clblack; 2:bc:=clgreen; 3:bc:=clblue; 4:bc:=clyellow; end; paintbox1.Canvas.Pen.Color:=pc; //设置画笔颜色 paintbox1.Canvas.Pen.style:= tpenstyle(comb_penstyle.ItemIndex); //设置画笔风格 paintbox1.Canvas.brush.Color:=bc;//设置画刷颜色 paintbox1.Canvas.brush.style:=tbrushstyle(comb_brushstyle.ItemIndex); //设置画刷风格 if comb_graph.Text='矩形' then paintbox1.Canvas.Rectangle(pp[1].x,pp[1].y,pp[2].x,pp[2].y) else if comb_graph.Text='椭圆' then paintbox1.Canvas.Ellipse(pp[1].x,pp[1].y,pp[3].x,pp[3].y) else if comb_graph.Text='多边形' then paintbox1.Canvas.Polygon(pp); end; procedure TForm1.Button2Click(Sender: TObject); begin paintbox1.Repaint; //通过重画擦除图形 end;