第10章 C++Builder图形程序设计入门.ppt
文本预览下载声明
第10章 C++Builder图形程序设计简介 第10章 C++Builder图形程序设计简介 10.1 Windows图形编程知识 10.2 基本图形类 10.3 基本图形图像组件 10.4 BCB图形程序示例 10.1 Windows图形编程知识 10.1.1 Windows编程的特点 设备无关性 windows使用图形设备接口(GDI)及设备驱动程序实现图形的设备无关性. 基于消息驱动 消息是关于用户接口改变的事件产生的。如鼠标、键盘、窗口变化等。一般用一个专用符号常量表示一种对应消息。以WM_开头。 10.1 Windows图形编程知识 10.1.2 图形设备接口——GDI Windows操作系统具有一系列组建模块,分别负责系统管理的某个方面,与绘图联系最密切的组建是图形设备接口(GDI)。GDI管理像画笔、位图及调色板这样的图形对象,每个GDI对象都使用某种方式控制GDI提供的绘图例程的动作。画笔确定了GDI画的线条的属性,画刷影响GDI如何填充屏幕的不同区域,当窗口需要重画时,Windows类使用WHITE_BRUSH填充窗口的整个背景。 10.1 Windows图形编程知识 10.1.3 Windows坐标系统 Windows通常使用的是三种类型的坐标 屏幕坐标(象素坐标) 原点固定在屏幕左上角,坐标的单位是象素(也称图形元素,它对应于屏幕上的一个彩色点)。 窗口坐标 原点在整个窗口的左上角(包括标题栏和窗口边框)。 用户坐标 原点在窗口的可绘图区域的左上角。 不同坐标系统应用的一个特殊例子:鼠标消息用客户坐标提供位置数据,而GetCursorPos()是以屏幕坐标获取鼠标指针的当前位置。 10.2 基本图形类 10.2.1 TCanvas图形类 在C++Builder中,绘图操作经常是作用在对象的画布(Canvas)上,而不是直接在对象上绘制。画布是指在窗体、图形控制、打印机或位图上按位映射的作图表面。画布类变量常用作窗体或其它控件的属性,同时它本身也是对象。画布提供了一个用户作图区域,程序运行期间可以在该区域作图。 Canvas的主要优点是能有效管理资源和设备描述表,它封装了Windows中与GDI有关的API,这意味着可以不必关心GDI的概念。在程序设计中,不管是向屏幕、打印机还是位图上绘图,都只需使用同样的方法。 10.2.1 TCanvas图形类 10.2.1.1 Canvas的主要属性 10.2.1 TCanvas图形类 10.2.1.2 Canvas的主要方法 10.2.1 TCanvas图形类 10.2.1.2 Canvas的主要方法 10.2.1 TCanvas图形类 10.2.1.3 图形语句示例 (1)绘直线 Canvas-MoveTo(x1, y1); Canvad-LineTo(x2, x2); (2)绘矩形 Canvas-Rectangle(x1,y1, x2,y2); (3)绘椭圆 Canvas-Ellipse(x1,y1, x2,y2); (4)绘园角矩形 Canvas-RoundRect(x1,y1, x2,y2); (5)绘园弧 Canvas-Arc(x1,y1, x2,y2, x3,y3, x4,y4); (6)绘多边形 Canvas-Polygon(const Windows::Tpoint *Points, const int Points_Size); (7)绘文本 Canvas-TextOut(int x, int y, const AnsiString Text); 10.2.2 TPen类 Pen属性的值为一个TPen类,使用TPen类可以描述Windows的笔(Pen)属性用以控制画布上绘制的线或几何图形(shape)的边框线。常用属性有: Width:线宽(象素数),默认值为1; Color:其属性值是一个TColor对象,TColor对象有三种赋值方式: (1)RGB: Cancas-Pen-Color = RGB(255,0,0);//红色 (2)颜色常量:Canvas-Pen-Color = clGreen; //绿色 (3)二进制码:Canvas-Pen-Color = 0x00FF0000;//蓝色 Style:设置线型 Canvas-Pen-Style = psClear; //不绘图形轮廓 Canvas-Pen-Style = psDash; //短划线 Canvas-Pen-Style = psDashDot; //点划线 Canvas-Pen
显示全部