Delphi中图形图像与多媒体技术.ppt_第1页
Delphi中图形图像与多媒体技术.ppt_第2页
Delphi中图形图像与多媒体技术.ppt_第3页
Delphi中图形图像与多媒体技术.ppt_第4页
Delphi中图形图像与多媒体技术.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

第6章图形图像与多媒体技术 6 1几何图形控件Shape6 2图象控件Image6 3画布 Canvas 对象像素操作画笔操作画刷操作6 4PaintBox画板控件6 5多媒体程序设计卡通控件媒体播放器 6 1几何图形控件Shape Shape 用于绘制椭圆 正方形等简单的几何图形 几何图形控件Shape的主要属性1 Shape属性 该属性用于指定控件的几何形状 2 Brush属性 该属性用于填充Shape控件的颜色和图案 3 Pen属性 该属性指定了Shape轮廓的画线的颜色和风格 几何图形控件Shape 例 在FORM上作一地球 1 地球由蓝色的经线和纬线组成 设计时可使用10个由大到小的竖放的椭圆作经线 再由10个由大到小的横放的椭圆作纬线 2 通过计算得到每一个椭圆的 left top 及 height width 的值 几何图形控件Shape 参考代码 fori 1to10dobeginmyshape tshape Create self myshape Name shape inttostr i myshape Shape stellipse myshape Pen Color clblue myshape Brush style bsbdiagonal myshape Top 96 myshape Height 233 myshape Left 280 15 i myshape Width 250 25 i myshape Parent form1 end 第6章图形图像与多媒体技术 6 1几何图形控件Shape6 2图象控件Image6 3画布 Canvas 对象像素操作画笔操作画刷操作6 4PaintBox画板控件6 5多媒体程序设计卡通控件媒体播放器 图象控件Image 1 Image 在窗体中显示图形 2 静态引用 窗体上放一个Image控件 Image控件的autosize属性设置为true 3 动态引用 方法一 通过调用过程 procedureLoadFromFile constFileName string virtual 方法二 使用打开图片对话框 例 卫星的制作及使用 图象控件Image 例 编写Button的单击事件代码如下 beginImage1 picture loadFromfile 图像文件路径 end 图象控件Image 也可使用打开图片对话框 在窗体中添加图片对话框openpicturedialog控件 并将button1的click事件代码改为如下所示 则可实现交互式打开图片的方法 procedureTForm1 Button1Click Sender TObject varfilename string beginifopenpicturedialog1 executethenbeginfilename openpicturedialog1 filename Image1 picture loadFromfile filename end end 第6章图形图像与多媒体技术 6 1几何图形控件Shape6 2图象控件Image6 3画布 Canvas 对象像素操作画笔操作画刷操作6 4PaintBox画板控件6 5多媒体程序设计卡通控件媒体播放器 画布 Canvas 对象 说明 画布 Canvas 对象应用程序的图形输入 DELPHI中的绘图 是将图形画在控件中的画布上 画布本身也是一种控件 但一般不单独使用 画布 Canvas 对象 像素操作 使用Pset方法绘制圆的渐开线 如图所示 1 在窗体中添加按钮button1 其caption属性值改为 显示 画布 Canvas 对象 像素操作 2 按钮button1的click事件代码如下 procedureTForm1 Button1Click Sender TObject varxt yt t integer x y real beginx form1 ClientWidth 2 y form1 clientheight 2 fort 0to15000dobeginxt round cos t 100 t sin t 100 100 x yt round sin t 100 t cos t 100 100 y canvas pixels xt yt clblue end end 画布 Canvas 对象 画笔操作 1 画线的方法 1 Moveto方法 作用是将画笔移到指定位置 使用方法为 moveto x y integer 2 lineto方法 作用是画一条到指定位置的直线段 线段起始位置由画布对象的Penpos属性值即画笔的当前位置确定 使用方法为 lineto x y Integer 3 画折线的方法 使用方法为Polyline points arrayofTPoint 2 画矩形的方法rectangle x1 y1 x2 y2 integer 3 画圆或椭圆的方法ellipse x1 y1 x2 y2 integer 4 画弧形曲线的方法arc x1 y1 x2 y2 x3 y3 x4 y4 integer 5 圆角矩形roundrect x1 y1 x2 y2 x3 y3 integer 画布 Canvas 对象 画笔操作 使用Canvas属性基本作图方法 画出如图所示的图形 画布 Canvas 对象 画笔操作 对窗体1的paint事件编码如下 即可实现 procedureTForm1 FormPaint Sender TObject begincanvas pen color clred withcanvasdobeginmoveto 10 10 画直线 lineto 100 100 pen color clblue rectangle 110 10 200 100 画矩形pen color clolive ellipse 210 10 400 100 画椭圆pen color clteal roundrect 410 10 500 100 50 50 画圆角矩形pen color clblack arc 120 200 320 300 120 200 320 200 画弧形曲线pen color clgreen polyline Point 420 200 Point 380 300 Point 480 240 Point 360 240 Point 460 300 Point 420 200 画星星end end 满天星星的制作 设计思想 在FORM上找50个随机的点 X Y 每个随机点产生一颗星星 每次作星星时颜色可变化 满天星星的制作 Randomize forI 1to50dobeginwithcanvasdo 控制画笔的颜色begincase idiv7 of0 pen color clgreen 1 pen color clred 2 pen color clyellow 3 pen color clblue 4 pen color clteal 5 pen color clnavy 6 pen color clpurple end x1 random form1 left form1 Width 300 产生随机点y1 random form1 Top form1 Height 300 polyline Point x1 y1 Point x1 10 y1 25 Point x1 15 y1 10 Point x1 15 y1 10 Point x1 10 y1 25 Point x1 y1 画星星 如何让星星看上去会闪烁呢 画布 Canvas 对象 画刷操作 画布的画刷 Brush 属性决定图形内部区域的填充方式 1 画刷的属性 1 颜色属性 Color Canvas Brush Color 属性值 2 风格属性 Style 3 位图属性 存放图形数据的对象 可在程序运行时动态创建和删除 bitmap createbitmap loadfromfile 文件路径 bitmap free 画布 Canvas 对象 作图区域 作图区域Rect是Trect属性的对象 同时也是一个函数 Rect对象的作用就是定义一个矩形区域对象 Rect对象用两个Tpoint类型或用四个整形变量指明区域范围 画布 Canvas 对象 作图区域 在窗体指定区域中显示图片 Canvas有三个绘制图像的方法 1 Draw x y Integer Graphi Tgraphic 其中x y为绘图区域右上角的坐标 Graphic参数指明需要绘制的图像 图标或图元文件 2 procedureFillRect constRect TRect 其中Rect为绘图区域 在调用该过程之前 先由Brush bitmap指明需要绘制的图像 图标或图元文件 3 Stretchdraw Rect Trect Graphi Tgraphic 其中Rect为绘图区域 画布 Canvas 对象 作图区域 procedureTForm1 FormPaint Sender TObject varbitmap tbitmap rect1 trect beginbitmap tbitmap create bitmap loadfromfile 文件路径 Rect1 rect 0 0 form1 width form1 height canvas StretchDraw rect1 bitmap end 第6章图形图像与多媒体技术 6 1几何图形控件Shape6 2图象控件Image6 3画布 Canvas 对象像素操作画笔操作画刷操作6 4PaintBox画板控件6 5多媒体程序设计卡通控件媒体播放器 PaintBox画板控件 SYSTEM PaintBox 利用图片框输出文本与图形 1 建立应用程序用户界面 PaintBox画板控件 2 编写程序代码 procedureTForm1 FormPaint Sender TObject varoldx oldy xt yt integer st real rect1 trect constpi 3 14159 beginwithpaintbox1dobegintop 0 left 0 width form1 clientwidth height form1 clientheight canvas Pen color clblack end oldx round form1 clientwidth 2 oldy round form1 clientheight 2 paintbox1 canvas moveto oldx 0 paintbox1 canvas lineto oldx paintbox1 height paintbox1 canvas moveto 0 oldy paintbox1 canvas lineto paintbox1 width oldy forxt 9to9doifxt0thenbeginst xt 10 pi paintbox1 canvas moveto oldx round st oldy 1 paintbox1 Canvas lineto oldx round st oldy paintbox1 canvas textout oldx round st 10 oldy 1 inttostr xt 2 End foryt 9to9doifyt0thenbeginst yt 20 paintbox1 canvas moveto oldx 1 oldy round st paintbox1 Canvas lineto oldx oldy round st paintbox1 canvas textout oldx 20 oldy round st inttostr yt end end procedureTForm1 sin1Click Sender TObject varoldx oldy t integer xt yt real beginoldx round form1 clientwidth 2 oldy round form1 clientheight 2 fort oldxtooldxdobeginxt t 20 yt sin xt paintbox1 Canvas pixels t oldx oldy round yt 20 clblack end end procedureTForm1 cos1Click Sender TObject varoldx oldy t integer xt yt real beginoldx round form1 clientwidth 2 oldy round form1 clientheight 2 fort oldxtooldxdobeginxt t 20 yt cos xt paintbox1 Canvas pixels t oldx oldy round yt 20 clblack end end procedureTForm1 clsClick Sender TObject beginpaintbox1 refresh end procedureTForm1 exit3Click Sender TObject beginform1 free end 第6章图形图像与多媒体技术 6 1几何图形控件Shape6 2图象控件Image6 3画布 Canvas 对象像素操作画笔操作画刷操作6 4PaintBox画板控件6 5多媒体程序设计媒体播放器 媒体播放器 Mediaplayer system 用来播放各种声音文件 WAVE MIDI AVI 创建一个多媒体播放程序 设计步骤如下 1 建立应用程序用户界面 2 设置对象属性 3 运行该程序 单击 Play 按钮 媒体播放器 例 播放WAVE文件 Mediaplayer1 filename wav Mediaplayer1 open Mediaplayer1 wait true Mediaplayer1 play 媒体播放器 连续播放的设置 procedureTForm1 MediaPlayer1Notify Sender TObject beginwithmediaplayer1doifnotifyvalue nvsuccessfulthenbeginposition 0 可用autoRewind true play notify true end end 第八章异常处理 1 异常异常 Exception 是所有的应用程序不可避免的 受异常的影响 程序常常被迫终止或者不能及时释放资源 Delphi提供了异常处理机制 使应用程序能够处理几乎所有的异常情况 异常处理 2 异常类 1 运行时间库异常类 RTLException 运行时间库异常类可以分为7类 它们定义在SysUtils库单元中 2 对象异常类所谓对象异常类是指非部件的对象引发的异常类 Delphi定义的对象异常类 3 组件异常类Delphi定义的组件异常类有3种 异常处理 try except子句try except子句用于异常发生后 判断异常的类型 正确处理异常 在try except语句中 except块包含异常发生时执行的动作 如果不发生异常 except块不被调用 try except语法格式如下 try 被保护语句 except 异常处理语句 异常不发生 不处理 end 异常处理 try finally语

温馨提示

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

评论

0/150

提交评论