- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.1GDI编程基础-05
第3章 图形编程基础 3.1 GDI编程基础 3.2 OpenGL简介及工具包 3.3 OpenGL初步编程 3.4 OpenGL基本几何图形的绘制 3.1 GDI编程基础 3.1.1 GDI概述 3.1.1 GDI概述(续) 3.1.2 MFC编程基础 3.1.2 MFC编程基础(续) 3.1.3基本图形元素的绘制 3.1.3基本图形元素的绘制(续) 3.1.3基本图形元素的绘制(续) 3.1.3基本图形元素的绘制(续) 3.1.3基本图形元素的绘制(续) 3.1.3基本图形元素的绘制(续) 3.1.3图形元素的填充 3.1.3图形元素的填充(续) 3.1.4图像的显示 3.1.4图像的显示(续) 3.1.4 二个综合应用实例 * * 内容提要: GDI是一种Windows提供的绘制图形和图像的函数库和类库 开发工具Visual C++的MFC类库中的部分类封装了大量的图形图像方法 3.1.1 GDI概述 3.1.2 MFC编程基础 3.1.3 基本几何元素的绘制 3.1.4 图像的显示 3.1.5 二个综合应用实例 GDI是Windows平台下生成、显示图形、图像的命令库,是应用程序开发的调用接口; GDI提供图像的读取、显示,及产生简单二维图形元素的命令; GDI是位于应用程序与不同硬件之间的中间层,这种结构让程序员从直接处理不同硬件的工作中解放出来,把硬件间的差异交给了GDI处理。通过GDI,应用程序可驱动不同输出设备特性,使Windows应用程序能够毫无障碍地在Windows支持的任何图形输出设备上运行; GDI是以文件的形式存储在系统中,系统需要输出图形时把它载入内存,如果转换成硬件命令时遇到非GDI命令,系统还可能载入硬件驱动程序,驱动程序辅助GDI把图形命令转换成硬件命令。 Visual C++提供的类库MFC已经封装了主要的GDI函数,程序员可以在MFC程序中自由使用GDI提供的功能 GDI的主要图形应用有: 二维游戏开发,如纸牌类、棋类; 影视特殊效果制作,如字幕制作; 开发可视化仿真类软件; 高级界面制作 二维领域 可以利用程序向导自动产生界面(三种类型),对于一个单文档程序,将生成的类有: 1)表示程序的CWinApp类 2)表示主窗体的CMainFrame类 3)表示显示区的CView类 4)和硬盘交互的CDocument类 5)代表版本对话框的CAboutDlg类 在表示显示区的CView类中,有一个用于刷新显示区的方法OnDraw(CDC* pDC) 其输入参数pDC是一个CDC类的对象?,专门用于画图,它提供了各种画笔、画刷、填充颜色等 1)画直线: MoveTo, LineTo 2)画矩形 Rectangle 3)画椭圆? Ellipse 4)画圆弧? Arc 5)画多边形 Polygon 1)画直线: CPoint MoveTo( int x, int y ); CPoint MoveTo( POINT point ); BOOL LineTo( int x, int y ); BOOL LineTo( POINT point ); 2)画矩形 BOOL Rectangle( int x1, int y1, int x2, int y2 ); BOOL Rectangle( LPCRECT lpRect ); 3)画椭圆? BOOL Ellipse( int x1, int y1, int x2, int y2 ); BOOL Ellipse( LPCRECT lpRect ); 4)画圆弧? BOOL Arc( int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4 ); BOOL Arc( LPCRECT lpRect, POINT ptStart, POINT ptEnd ); 5)画多边形 BOOL Polygon ( LPPOINT lpPoints, int nCount ); lpPoints :顶点列表 nCount :定点数目 刷子的定义与使用 使用CDC类的函数画填充图形 例如,下面代码画一个填充矩形 CBrush NewBrush,*pOldBrush;NewBrush.CreateSolidBrush(RGB(255,0,0));pOldBrush=pDC-SelectObject(NewBrush);pDC-FillRect(rect); pDC-SelectObject(pOldBrush);NewBrush.DeleteObject(); CBitmap 类 CDC类的BitB
文档评论(0)