windows程序设计004.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
windows程序设计004.ppt

GDI绘图函数 这些函数是程序执行绘图工作的真正部分,前面介绍的各类GDI函数和属性的使用都是在为使用这类函数做准备。当然,这类函数也很多,有画点、画线、绘制矩形和椭圆等。 Windows中的几种坐标体系 ? ? ? 1、屏幕坐标 ? ? ? 屏幕坐标描述物理设备(显示器、打印机等)的一种坐标体系,坐标原点在屏幕的左上角,X轴向右为正,Y轴向下为正。度量单位是象素。原点、坐标轴方向、度量单位都是不能够改变的。 ? ? ? 2、设备坐标(又称物理坐标) ? ? ? 设备坐标是描述在屏幕和打印机显示或打印的窗体的一种坐标体系。默认的坐标原点是在其客户区的左上角。X轴向右为正,Y轴向下为正。度量单位为象素。原点和坐标轴方向可以改变,但是度量单位不可以改变。 ? ? ? 3、逻辑坐标 ? ? ? 逻辑坐标是在程序中控制显示,打印使用的坐标体系。该坐标系与定义的映射模式密切相关。默认的映射模式是MM_TEXT。我们可以通过设置不同的映射模式来改变该坐标体系的默认行为。 映像模式定义了将逻辑单位转化为设备的度量单位以及设备的x方向和y方向,程序员可在一个统一的逻辑坐标系中操作而不必考虑输出设备的坐标系情况。 映射模式 窗口:对应逻辑坐标系上程序员设定的区域 视口:对应实际输出设备上程序员设定的区域 缺省的映射模式 将窗口中的对称图形映射到视口时仍为对称图形 按照窗口和视口的坐标比例进行映射 坐标系统 逻辑坐标系统 设备坐标系统 屏幕坐标系统 窗口坐标系统 用户区坐标系统 应用程序可获取设备环境的当前映像模式,并根据需要设置映像模式。 相关 函数 设置设备环境的映像模式 SetMapMode(hdc,nMapMode); nMapMode为映像模式的整型标识符 获取当前设备环境的映像模式 nMapMode=GetMapMode(hdc); 窗口区域的定义由SetWindowExtEx函数完成,其函数原型形为:BOOL SetWindowExtEx ( HDC hdc, int nHeight, int nWidth, //以逻辑单位表示的窗口区域高宽度 LPSIZE lpSize, //函数调用前窗口区域尺寸的SIZE结构地址 ); 视口区域的定义由SetViewportExtEx函数完成,函数原型为: BOOL SetViewportExtEx ( HDC hdc, int nHeight,//定义域; int nWidth,//值域;以物理设备单位表示的新视口区域高宽度 LPSIZE lpSize ); 只有在映射模式为 MM_ANISOTROPIC 和MM_ISOTROPIC 时才有意义 视口的缺省原点和窗口的缺省原点均为(0,0)。可通过调用函数SetViewportOrgEx和SetWindowOrgEx设定窗口与视口的原点。 SetWindowOrgEx函数的原形为: BOOL SetWindowOrgEx ( HDC hdc, int X,Y, //以逻辑单位表示的窗口原点坐标 LPPOINT lpPoint //函数调用前原点坐标的POINT结构的地址 ); 绘图工具与颜色 1. 画笔 (1) 画笔的创建 使用画笔之前必须事先定义一个画笔句柄。形式如下: HPEN hP; 然后调用函数GetStockObject获取Windows系统定义的四种画笔例如获取画笔BLACK_PEN的形式如下: hP=(HPEN)GetStockObject(BLACK_PEN); 画笔的操作 创建画笔 将画笔选入设备环境 删除画笔 WHITE_PEN BLACK_PEN DC_PEN NULL_PEN (2) 创建新画笔,形式如下: hP=CreatePen ( int nPenStyle, //确定画笔样式 int nWidth, //画笔宽度 COLORREF rgbColor //画笔颜色 ); 创建画笔后,必须调用SelectObject函数将其选入设备环境。 SelectObject(hdc,hP); //hP为所创建或获取的画笔句柄 不再使用当前画笔时,需删除画笔,以免占内存 DeleteObject(hP); PS_DASH: 虚线 PS_DASHDOT: 点划线 PS_DASHDOTDOT: 双点划线 PS_DOT: 点线 PS_INSIDEFRAME: 实线 PS_NULL: 无 PS_SOLID: 实线 2. 画刷 画刷的创建与应用与画笔很相似,操作画刷也包括创建、选入设备环境和删除。 (1) 画刷的创建 使用画刷需事先定义一个画刷句柄。形式如下:

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档