CBuilder基本图形编程PPT课件_第1页
CBuilder基本图形编程PPT课件_第2页
CBuilder基本图形编程PPT课件_第3页
CBuilder基本图形编程PPT课件_第4页
CBuilder基本图形编程PPT课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、C+ Builder 基本基本图形编程图形编程薛 涛西 安 交 通 大 学 计 算 机 教 学 实 验 中 心第1页/共20页显示图形的最简单办法 Shape构件可以将简单形体加到窗体上。使用Shape构件很容易,只要放到窗体上并根据需要改变Brush、Pen和Shape属性即可。可以绘制圆、椭圆、矩形、正方形和带圆角的矩形。改变Brush属性可以修改形体的背景颜色,改变Pen属性可以改变形体边框的颜色或厚度。第2页/共20页显示图形的最简单办法 Image构件可以在窗体上显示位图,这个构件适合许多图形操作,包括窗体的位图背景。Image构件的Picture属性是TPicture类的实例,可以

2、在设计时通过对象观察器选择图形,也可以在运行时装入图形。例如,可以在运行时改变图形如下:Imagel-Picture-Bitmap-LoadFromFile(bkgnd.bmp); Stretch属性确定图形可否缩放成适合构件的尺寸。Center属性确定位图是否在构件上居中显示。AutoSize属性可以迫使构件根据图形尺寸调整尺寸。第3页/共20页显示图形的最简单办法 PaintBox构件,这个构件提供了画布,可以在窗体的限定区域内绘图。PaintBox构件唯一重要的属性是Canvas属性,是TCanvas类的实例。C Builder应用程序中大多数绘图都是对这个类进行的第4页/共20页TCa

3、nvas类 TCanvas类的主要属性属性 说明Brush 用于填充到形体的画刷颜色或图案ClipRect 画布的当前剪取矩形,将绘图限制在这个矩形内。这个属性是只读的CopyMode 确定如何进行绘图(正常、逆向、xor,等等)Font 画布绘制文本所用的字体Handle 画布的句柄(HDC),用于直接调用Windows APIPen 确定画布上绘图的线型和颜色PanPos 当前绘图位置的x和y坐标Pixels 画布像素的数组第5页/共20页TCanvas类 TCanvas类的主要方法方法 说明Arc 当前画笔在画布上画圆弧BrushCopy 用透明背景显示位图CopyRect 将部分图形复

4、制到画布上Draw 将内存中的图形复制到画布上Ellipse 用当前画笔在画布上画椭圆并用当前画刷填充FloodFill 用当前画刷填充画布的一个区域LineTo 从当前绘图位置向X、Y坐标指定的位置画直线MoveTo 设置当前绘图位置Pie 在画布上画一个饼形图Polygon 用一组点在画布上画多边形,并填上当前画刷第6页/共20页TCanvas类 TCanvas类的主要方法方法 说明Polyline 用当前画笔用一组点在画布上画折线,不自动闭合Rectangle 用当前画笔在画布上画矩形外形线,并用当前画刷填充RoundRect 画带圆角的填充矩形StretchDraw将位图从内存中复制到

5、画布上。位图根据目标矩形的尺寸伸缩TextExtent 返回传入Text参数的字串宽度和高(像素数),宽度用画布当前字体计算TextHeight 返回传入Text参数的字串宽度(像素数),宽度用画布当前字体计算TextOut 用当前字体在画布的指定位置上写字TextRect 在剪取矩形中写字第7页/共20页 在屏幕上绘制蓝边红黑的圆CanvasBrushColor = clRed;CanvasPenColor = clBlue;CanvasEllipse(20, 20, 120, 120);第8页/共20页GDI对象 。最常用的GDI对象有画笔、画刷和字体,其它GDI对象有调用板、位图和区域。

6、第9页/共20页画笔 画笔定义用于画线的对象。线可以是从一点到另一点的单线,也可以是矩形、椭圆和多边形的边。画笔通过TCanvas类的Pen属性访问。Pen属性是TPen类的实例。第10页/共20页TPenTPen的属性属性 说明Color 设置线的颜色Handle 画笔的句柄(HPEN),用于直接调用GDI对象Mode 确定画线的方法(正常、逆、xor,等 等)Style 笔的样式,实线、点线、划线、点划线、清除,等等Width 画笔宽度(像素数)第11页/共20页 下例是画红色划线的代码:Canvas-Pen-Color = clRed;Canvas-Pen-Style = psDash;

7、Canvas-MoveTo(20,20);Canvas-LineTo(120,20); 为了测试这个代码,在窗体上放一个按钮并将代码输入按钮的OnClick处理器中。单击按钮时,窗体上即画出一条直线。 提示:为了试验TPen的不同属性,可以在窗体上放一个Shape构件并修改形体的Pen属性,这在检查TPen类Mode属性的效果时特别方便。第12页/共20页画刷 画刷表示图形形体的填充区。绘制椭圆、矩形和多边形时,形体会用当前画刷填充。 TCanvas类的Brush属性可以控制画刷的样子。Brush属性是TBrush类的实例。第13页/共20页TBrushTBrush类的属性属性 说明Bitma

8、p 用作画刷背景的位图,对于Windows 95,位图不得大于8x8Color 设置画刷颜色Handle 画刷句柄(HBRUSH),用于直接调用GDIStyle 画刷样式,包括实心、清除或几种图案之一第14页/共20页 缺省情况下,Style属性设置为bsSolid。如果要填充图案,则要将Style属性设置为几种图案之一(bsHorizontal、bsVertical、bsFDiagonal、bsBDiagonal、bsCross或bsDiagCross)。第15页/共20页 下例用45度阴影线在窗体上画圆:Canvas-Brush-Color = clBlue;Canvas-Brush-St

9、yle = bsDiagCross;Canvas-Ellipse(20, 20, 220, 220);第16页/共20页字体 为了改变画布的字体,只要用下列代码:Canvas-Font-Name = Courier New;Canvas-Font-Size = 14;Canvas-Font-Style = fsBold;Canvas-TextOut(20, 20, Testing);第17页/共20页绘制文本TextOut和TextRect() TextOut()方法是画布上写字的是最基本方法,只要传入X位置、Y位置和要显示的文本即可。例如:Canvas-TextOut(20, 20, Mas

10、on P.Reisdorph); TextRect()方法可以指定剪取矩形和显示的文本,这个方法可以将文本限定在指定边界内,边界外的文本均被剪去。下列码段保证显示的文本不超过100像素:Canvas-TextRect(Rect(20,50,120,70),20,50,This is a very long line that might get clipped.); TextOut()方法和TextRect()都只能绘制一行文本,不能进行换行。第18页/共20页文本背景 改变文本背景颜色比较容易,这里可以让文本背景颜色与文本颜色相同,做法如下:Canvas-Brush-Color=Color; 最好能使文本背景透明,方法如下:TBrushStyle oldStyle;oldStyle = Canvas-Brush-Style;Canvas-Bru

温馨提示

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

评论

0/150

提交评论