文档详情

面向对象程序设计( C++ ) 高职软件专业 王明福 课件 第10章 屏幕绘图.ppt

发布:2017-08-14约字共42页下载文档
文本预览下载声明
尚辅网 尚辅网 10.1 绘图程序 (1) 绘制“直线”、“矩形”、“圆角矩形”和“椭圆”基本图形。 (2) 能设置画笔的粗细(线宽)和绘图颜色。 (3) 提供菜单、工具栏 10.2 设备环境和设备环境类 10.2.1 概述 设备环境类CDC及其派生类如图10-2所示 10.2.2 认识设备环境类 10.3 绘图工具 10.3.1 画笔:CPen类 在使用画笔之前,首先必须构造画笔对象,有两种方法 例如,用一支颜色为绿色、宽度为2个象素的实心画笔画线和画椭圆的程序段如下: CDC *pDC=GetDC(); //获得显示设备环境DC的指针pDC CPen newPen; newPen.CreatePen(PS_SOLID,2,RGB(0,255,0)); CPen* poldpen=pDC-SelectObject(newPen);//将创建的画笔选入内存DC,同时暂时挤出并保存原画笔 pDC-MoveTo(10, 10); //调用MoveTo函数,定位于点(10,10) pDC-LineTo(100,100); //调用LineTo函数,画线至点(100,100) pDC-Ellipse(120,120,160,160); //调用画椭圆函数Ellipse pDC-SelectObject(poldpen); //恢复内存DC中原有的画笔 ReleaseDC(pDC); //释放显示DC 10.3.2 画刷:CBrush类 在使用画笔、画刷之前,首先必须构造画笔、画刷对象,有两种方法: 例如,用一支颜色为绿色、宽度为2个象素的实心画笔画椭圆,并用蓝色画刷填充椭圆内部的程序段如下(如果不填充椭圆内部,则相关的画刷语句省略)。 CDC* pDC=GetDC(); //获得显示设备环境DC的指针pDC CPen newPen; newPen.CreatePen(PS_SOLID,2,RGB(0,255,0)); CBrush newBrush ; newBrush.CreateSolidBrush(RGB(0,255,0)); CPen* poldpen=pDC-SelectObject(newPen);//将创建的画笔选入内存DC,同时暂时挤出并保存原画笔 CBrush* poldbrush=pDC-SelectObject(newBrush); //将创建的画刷选入内存DC,同时暂时挤出并保存原画刷 pDC-MoveTo(10, 10); //调用MoveTo函数,定点到点(10,10) pDC-LineTo(100,100); // 调用LineTo函数,画线到点(100,100) pDC-Ellipse(120,120,160,160); // 调用画椭圆函数Ellipse pDC-SelectObject(poldpen); //恢复内存DC中原有的画笔 pDC-SelectObject(poldbrush); //恢复内存DC中原有的画刷 ReleaseDC(pDC); //释放显示DC 10.3.3 字体:CFont类 创建字体由两步完成 BOOL CreateFont(int nHeight, //字体高度 int nWidth, //字符平均宽度 int nEscapement, //文本行角度 int nOrientation, //字符角度 int nWeight, //字符粗细度 BYTE bItalic, //斜体 BYTE bUnderline, //下划线 BYTE cStrikeOut, //删除线 BYTE nCharSet, //字符集 BYTE nOutPrecison, //字体输出结果和要求的匹配程度 BYTE nClipPrecison, //如何裁剪落于裁剪区之外的字符 BYTE nQuality, //字体属性匹配的精确程度 BYTE nPitchAnFamily, //字体间距和字体簇 BYTE lpszFacename //字体名称 ); 10.4 矢量图形 10.4.1 绘图模式 10.4.2 基本矢量图形 1.点 2.直 线 3.矩 形 10.5 位图显示 10.5.1 CBitmap类 CBitmap类封装了Windows的GDI位图操作所需的大部分函数。其中,LoadBitmap是位图的初始化函数,其函数原型如下: 10.5.2 GDI位图的显示 ①
显示全部
相似文档