C++Builder基本图形编程

上传人:宝路 文档编号:48187519 上传时间:2018-07-11 格式:PPT 页数:20 大小:117.07KB
返回 下载 相关 举报
C++Builder基本图形编程_第1页
第1页 / 共20页
C++Builder基本图形编程_第2页
第2页 / 共20页
C++Builder基本图形编程_第3页
第3页 / 共20页
C++Builder基本图形编程_第4页
第4页 / 共20页
C++Builder基本图形编程_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《C++Builder基本图形编程》由会员分享,可在线阅读,更多相关《C++Builder基本图形编程(20页珍藏版)》请在金锄头文库上搜索。

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

2、。例如,可以在 运行时改变图形如下: Imagel-Picture-Bitmap-LoadFromFile(“bkgnd.bmp“); wStretch属性确定图形可否缩放成适合构件的尺寸。 Center属性确定位图是否在构件上居中显示。AutoSize 属性可以迫使构件根据图形尺寸调整尺寸。显示图形的最简单办法wPaintBox构件,这个构件提供了画布,可 以在窗体的限定区域内绘图。PaintBox构 件唯一重要的属性是Canvas属性,是 TCanvas类的实例。C Builder应用程 序中大多数绘图都是对这个类进行的TCanvas类TCanvas类的主要属性 属性 说明 Brush 用

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

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

5、tent 返回传入Text参数的字串宽度和高(像素数),宽度用画 布当前字体计算 TextHeight 返回传入Text参数的字串宽度(像素数),宽度用画布当 前字体计算 TextOut 用当前字体在画布的指定位置上写字 TextRect 在剪取矩形中写字w在屏幕上绘制蓝边红黑的圆 CanvasBrushColor = clRed; CanvasPenColor = clBlue; CanvasEllipse(20, 20, 120, 120);GDI对象w。最常用的GDI对象有画笔、画刷和字体 ,其它GDI对象有调用板、位图和区域。画笔w画笔定义用于画线的对象。线可以是从 一点到另一点的单线

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

7、0); w为了测试这个代码,在窗体上放一个按钮并将代码输 入按钮的OnClick处理器中。单击按钮时,窗体上即画 出一条直线。 w提示:为了试验TPen的不同属性,可以在窗体上放一 个Shape构件并修改形体的Pen属性,这在检查TPen类 Mode属性的效果时特别方便。画刷w画刷表示图形形体的填充区。绘制椭圆 、矩形和多边形时,形体会用当前画刷 填充。 wTCanvas类的Brush属性可以控制画刷的 样子。Brush属性是TBrush类的实例。TBrushTBrush类的属性 属性 说明 Bitmap 用作画刷背景的位图,对于Windows 95 ,位图不得大于8x8 Color 设置画刷

8、颜色 Handle 画刷句柄(HBRUSH),用于直接调用GDI Style 画刷样式,包括实心、清除或几种图案 之一w缺省情况下,Style属性设置为bsSolid。 如果要填充图案,则要将Style属性设置 为几种图案之一(bsHorizontal、 bsVertical、bsFDiagonal、bsBDiagonal 、bsCross或bsDiagCross)。w下例用45度阴影线在窗体上画圆: Canvas-Brush-Color = clBlue; Canvas-Brush-Style = bsDiagCross; Canvas-Ellipse(20, 20, 220, 220);字

9、体w为了改变画布的字体,只要用下列代码 :Canvas-Font-Name = “Courier New“; Canvas-Font-Size = 14; Canvas-Font-Style = fsBold; Canvas-TextOut(20, 20, “Testing“);绘制文本TextOut和TextRect()wTextOut()方法是画布上写字的是最基本方法,只要传入X 位置、Y位置和要显示的文本即可。例如: Canvas-TextOut(20, 20, “Mason P.Reisdorph“); wTextRect()方法可以指定剪取矩形和显示的文本,这个方 法可以将文本限定在

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

11、s-Brush-Style; Canvas-Brush-Style = bsClear; Canvas-TextOut(20,20, “This is a test.“); Canvas-Brush-Style=oldStyle; 首先要保存当前画刷样式,然后将画刷样式设置为透明 (bsClear)。显示文本后,要恢复当前画刷样式。Examplew用键盘方向键移动一个圆圈 w吹泡泡程序n在窗口中点击鼠标左键,则在点击位置显示一个红 色泡泡n修改上题,使得以前显示的泡泡不消失(即仍然可 见)n修改上题,使得所有显示的泡泡自动向上漂浮直到 到达边界n修改上题,使得点击鼠标右键所选中的泡泡消失 w划一个折线图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号