- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * 第13章 GDI编程 GDI与设备环境(DC) 用CDC绘图 应用举例 绘图工具类 应用举例 * 李宝全 主要内容 GDI与设备环境(DC) 用CDC绘图 应用举例 绘图工具类 应用举例 * 图形设备接口(GDI) Windows提供了一个称为图形设备接口(Graphics Device Interface,GDI)的抽象接口。 GDI 作为Windows的重要组成部分,负责管理用户绘图操作时功能的转换。 用户通过调用GDI 函数与设备打交道,GDI 通过不同设备提供的驱动程序将绘图语句转换为对应的绘图指令,避免了用户对硬件直接进行操作,从而实现设备无关性(显示器或打印机)。 * * 绘图过程 应 用 程 序 设 备 环 境 图 形 设 备 接 口 设 备 驱 动 程 序 物 理 设 备 DC GDI GDI的图形输出 应用程序可以使用GDI 创建如下图形输出 矢量图形:画线和填充图形,包括点、直线、曲线、多边形、扇形和矩形等。 光栅图形:通过光栅图形函数对以位图形式存储的数据进行操作,包括各种位图和图标的输出。 屏幕:对若干行和列的像素操作 打印机:对若干行和列的点阵输出 直接从内存到显存的复制操作,速度快,内存要求高。 文本:以图形方式输出文本,以逻辑坐标为单位计算输出位置,而DOS是以行为单位。用户可以设置文本的各种效果,如加粗、斜体、设置颜色等。 * 设备环境 应用程序的输出面向设备环境(Device Context,DC),是一个虚拟逻辑设备,也称设备描述表或设备上下文。设备环境DC 是由GDI 创建,用来代表设备连接的数据结构。 DC 的主要功能 允许应用程序使用一个输出设备。 提供应用程序、设备驱动和输出设备之间的连接。 保存当前信息,例如当前的画笔、画刷、字体和位图等图形对象及其属性,以及颜色和背景等影响图形输出的绘图模式。 保存窗口剪切区域(Clipping Region),限制程序输出到输出设备中窗口覆盖的区域。 * * 坐标系统 1. 设备坐标系统 x轴自左至右,y轴从上到下,坐标原点在屏幕左上角 屏幕坐标系统; 窗口坐标系统; 用户区坐标系统 2. 逻辑坐标系统 坐标为自下而上,坐标原点在屏幕左下角 X Y O 设备坐标系统 O X Y 逻辑坐标系统 主要内容 GDI与设备环境(DC) 用CDC绘图 应用举例 绘图工具类 应用举例 * 设备环境类CDC MFC封装了DC,提供CDC 类及它的子类以访问GDI。 * 所有设备环境类的基类,对GDI的所有绘图函数进行了封装 用于响应窗口重绘消息的绘图输出,不仅可对客户区进行操作,还可以对非客户区进行操作 代表窗口客户区的设备环境 代表整个窗口的设备环境,包括客户区和非客户区 代表Windows图元文件设备环境 CDC类常用绘图函数 Arc:绘制一段弧 Chord:绘制弦形 Ellipse:绘制椭圆或圆 MoveTo:将当前位置移动到指定位置 LineTo:从当前位置到指定位置画一条直线 Polyline:画连接指定点的折线段 PolyBezler:根据两个端点和两个控制点画贝塞尔曲线 Pie:画冰块 Polygon:根据两个或两个以上的顶点绘制一个多边形 Rectangle:根据指定的左上角和右下角坐标绘制一个矩形 RoundRect:画圆角矩形 SetPixel:画一个点 * 绘图颜色 DWORD类型的COLORREF数据用于存放颜色值“0x00bbggrr” 低位字节存放红色强度值 第2 个字节存放绿色强度值 第3个字节存放蓝色强度值 高位字节存放0 可用RGB宏设置颜色值,将红、绿、蓝分量值转换为COLORREF类型的颜色数据 COLORREF RGB( BYTE byRed, // red component of color BYTE byGreen, // green component of color BYTE byBlue // blue component of color ); * 常用颜色对照表 例:COLLORREF red = RGB(255,0,0); * 在MFC中获取DC 在如OnDraw等函数中传递一个指向CDC 对象的指针 如OnDraw(CDC* pDC); 使用构造函数构建对象 一般不构造CDC对象 在CWnd类的OnPaint函数中,定义CPaintDC对象 CPaintDC dc(this); 在CWnd类的其它函数中,定义CClientDC和CWindowDC的对象 CClientDC dc(this); CWindowDC dc(this); * CClientDC、CPaintDC和CWindowDC的区别 当窗口的某个区域需要重绘时激发窗口重绘消息WM_PAIN
您可能关注的文档
最近下载
- 中职数学-三角函数教案(中职教学).docx VIP
- 西南科技大学教室使用管理办法教程.PDF VIP
- 约克YK离心式冷水机组运行记录表.xls VIP
- 《农业废弃物资源化利用》课件.ppt VIP
- 黑科大办字〔2021〕29号-关于印发《黑龙江科技大学教室使用与管理办法》的通知.doc VIP
- 2.4 有理数的混合运算(课件)七年级数学上册(青岛版2024).pptx VIP
- 英语八大时态总结表.docx VIP
- 冷却塔运行记录表.xls VIP
- 2025年湖北省监督数据分析应用中心专项公开招聘22名工作人员笔试模拟试题及答案解析.docx VIP
- 《农业废弃物资源化利用》课件.ppt VIP
文档评论(0)