Delphi图形图像处理.ppt_第1页
Delphi图形图像处理.ppt_第2页
Delphi图形图像处理.ppt_第3页
Delphi图形图像处理.ppt_第4页
Delphi图形图像处理.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、Delphi图形图像处理,讲解人:汤磊 2008-07-28,内容提要,在Delphi中,专门定义了一组对象和部件用以绘制图形,完成一些简单的图像功能。利用这些对象、部件的方法,可以方便地绘制各种常用图形;通过设置它们的属性,能得到不同风格的图形。另外,通过对鼠标事件的定义,可以方便的设计图形绘制程序。,讲解要点,一.画布技术 (1)TCanvas Object(画布对象) (2)TBrush Object(画刷对象) (3)TPen Object(画笔对象) (4)TColor Object(颜色对象) 二.图形图像控件 (1)Image组件 (2)Shape组件 (3)PaintBox组件

2、 三.图像对象概述 (1)TGraphic对象 (2)TPicture对象 (3)TImage部件 (4)TBitmap Object(位图对象) 四.案例 (1)放大图片 (2)图片倒置 (3)正弦曲线,一.画布技术1.1. TCanvas Object(画布对象),TCanvas对象是一个用于绘图的表面,在这个区域上,程序可实现各种绘图功能,很多部件(如TIMage,TMemo)的Canvas属性就是TCanvas对象。在部件上绘制图形就是在部件的画布上绘制。TCanvas的Brush,Pen,Font属性分别是TBrush,TPen,TFont对象,它们用于定义绘制图形的风格。关于TBr

3、ush,TPen对象,下节中将详细介绍。 TCanvas有对象很多方法,可完成常用的绘图功能,现将方法及功能简介如下:,画一段弧线,Arc(x1,y1,x2,y2,x3,y3,x4,y4 : Integer); Arc方法在椭圆上画一段弧,椭圆由(x1,y1),(x2,y2) 两点所确定的椭圆所决定。弧的起点是椭圆圆周和椭圆中心与(x3,y3)连线的交点。弧矩形终点是椭圆圆周和椭圆中心与(x4,y4)连线的交点,以逆时针方向画弧。 Chord(x1,y1,x2,yx,x3,y3,x4,y4 : Integer); 见例子,复制位图,Brushcopy Brushcopy(const Dest

4、: TRect;Bitmap : TBitmap;const Source TRect;Color : TColor); Brushcopy方法把位图的一部分复制到画布的某个矩形区域,并用画笔的当前颜色替换位图的颜色。参数Dest定义画布的一个矩形区域,该矩形用以填充位图,Bitmap定义位图;Source定义位图中的矩形区域,该区域上的位图将被复制;Color定义画笔中,用以替换位图的颜色。 见例子,复制画布对象上的图像,CopyRect CopyRect(Dest : TRect;Canvas : TCanvas; Source TRect); 此方法从另一个画布对象上复制部分图像到该画布

5、。Canvas表示源画布,Source是源画布上要复制的图像区域。Dest表示目标画布上将接受复制图像的矩形区域。 见例子:颠倒图片,画所给图像,Draw Draw(x,y : Integer;Graphic : TGraphic); 此方法在画布给定的象素点坐标(x,y)处画Graphic所给的图像,该图像可以是位图,图标或元位图。 见例子,画椭圆,Ellips Ellips(x1,y1,x2,y2 : Integer); Ellips方法在画布指定的矩形边界上画一个椭圆,(x1,y1)是矩形左上角的象素坐标,x2,y2是矩形右下角的象素坐标。如果矩形形成一个区域,将出现一个椭圆。 见例子,

6、线条,LineTo(x,y : Integer); LineTo从当前位置画一条线至(x,y)所指定的位置,并把笔的位置移至(x ,y)。 MoveTo(x,y : Integer); MoveTo 将笔的当前位置设置到点(x,y)处,笔的当前位置在PenPos属性中,改变笔的当前位置使用MoveTo方法,把点连成线,Polygon Polygon(Points : array of TPrint); Polygon方法在画布上绘制一系列的点,各点依次连成线,最后将首尾两点相接形成一个区域,并用当前笔刷填充此区域。 Polyline Polyline(Ports : array of TPor

7、t); Polyline方法在画布上用当前画笔绘制一系列的点,各点依次连成线。 见例子,画矩形,StretchDraw StretchDraw(Const Rect : TRcct : Graphic : TGraphic); 此方法在Rect参数指定的矩形内画一图像。图像延伸改变大小以适应矩形。 Rectangle Rectangle(X1,y1,x2,y2 : Integer);Rectangle方法在画布上用当前画刷绘制矩形,(x1,y1)是矩形的左上角,(x2,y2)是矩形的右下角。 见壁纸的例子,附:画布对象的一些属性,常见属性 (1)Brush:画布使用的刷子,通过它设置填充那个的

8、颜色和图案 (2)CanvasOrientaion:设置画布坐标 (3)copyMode:设置拷贝图像的方式 (4)Font:画布中使用的字体 (5)Pen:画布的画笔,1.2.TBrush Object(画刷对象),画刷对象用以填充图形,如用画刷颜色或图案对矩形或椭圆进行填充。TBrush拥有一个画刷句柄(HBrush) 画刷的颜色定义在Color属性中。画刷还有一个Bitmap属性,该属性只能在运行时得到,画刷可使用位图填充图形以产生特殊效果。位图大小为8个象素点长,高8个象素点宽。Style属性定义了画刷填充图形的风格,Tbrush对象方法,(1)Assign:向另一个对象赋值 (2)C

9、reate:创建一个TBrush对象实例。 (3)Destroy:释放一个TBrush对象实例。 (4)OwnHandle:用来确保对更基本的Qbrush类实例的权限。当需要接受QBrush handle使用或销毁权限时需要用到这个过程。 (5)ReleaseHandle:用来把TBrush 从QBrush handle中分离出来,当需要把TBrush handle 给一段程序或一个类时,用到这个函数。,1.3.TPen Object(画笔对象),应用程序常用TPen对象在画布上绘制各种线段,笔的颜色在Color属性中定义。线段宽度在Width属性中定义。Style属性定义了线段的各种类型 M

10、ode属性定义线段的颜色。可结合当前的颜色、屏幕颜色或它们反转值,对线段的颜色重新定义,但不改变Color属性。 注:见delphi的TShape控件属性,1.4.TColor Object(颜色对象),TColor类型用于定义一个对象的颜色。很多部件的颜色属性就是TColor 类型, 在Graphics单元中TColor定义如下:TColor = -(COLOR_ENDCOLORS + 1).$02FFFFF; 这是一个32位二进制数据。Graphic单元中还定义了一些常用的颜色常量,这些常量或直接映射成系统调色板中最相近的颜色,或映射成Windows 控制面板中颜色部分的系统视频颜色。直接

11、映射成系统调色板中的颜色有:ClAqua,CLBlack,ClBlue,ClbkGrray,ClFuchsoa.ClYellow,二.图形图像控件2.1.Image组件,Image组件是一个容器组件,它在应用程序窗口中提供一个矩形域,用于显示和输出位图、图标、图元文件或用户自定义的图形文件。在应用程序运行时它是不可见的。 该组件的属性: (1)Canvas:该属性指出了Timage进行绘图操作的平面。 (2)Picture:显示的图像。 (3)AutoSize:确定图像是否自动调节大小。 (4)Center:图像是否居中显示 (5)Stretch:图像是大小是否随组件大小变化。,2.2.Sha

12、pe组件,Shape组件用于在窗体中绘制几何图形,如椭圆,矩形和圆角矩形等。 属性: (1)Shape:绘制图形的形状。 (2)Brush:几何图形中填充的颜色。 (3)Pen:几何图形所使用的线行。,2.3.PaintBox组件,该组件是一个简单的画板,它为应用程序提供了可在窗体的特定区域内画图的方法。它和Image组件不同,Image组件是显示已经保存在文件中的图像,而PaintBox组件需要应用程序直接在窗体上进行绘制。一旦该组件加入窗体,应用程序就可以利用OnPaint事件在画板上画图。 属性: (1)Anchors:用来制定在运行过程中,当父组件(如窗体或Panel组件)是可调时,它

13、相对于父组件边缘的位置。 (2)BoundsRect:指定组件的矩形边界,用其父组件的坐标系来表示。 (3)Canvas:绘图。 (4)Color:组件的背景颜色。 (5)Constaints:强制组件的大小。,三.图像对象概述 3.1. TGraphic对象,TGraphic对象是TBitmap ,TIcon,Tmetafile对象的基类。如果知道图像的具体类型( 如位图, 图标元文件) , 则应将图像贮存在相应类型的对象中( 如TBitmap,TIcon,Tmetafile),否则应该使用可贮存任何图像类型的TPicture对象。,3.2. TPicture对象,TPicture对象可以保存位图、图标或元文件。Graphic属性中包括图像的类型;图像的高度和宽度分别定义在Height,Width属性中;调用LoadFromFile方法,可以从文件中装载一幅图像: procedure TForm1.FormCreate(Sender: TObject);beginBitBtn1.Glyph.LoadFromFile(TARTAN.BMP);end;,3.3. TImage部件(见2.1节)3

温馨提示

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

评论

0/150

提交评论