- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 图形程序的编程基础 概论 GDI (Graphics Device Interface) Windows系统的一种软件子系统,它按照GDI函数来工作,负责在屏幕显示器和打印机上显示图形。 32位GDI就是GDI32.DLL动态链结库,可以把它理解成GDI函数的解释器并按照解释调用相应的设备驱动程序。 不同的设备有不同的设备驱动程序,这就实现了与设备无关的图形输出,GDI在应用程序和不同输出设备之间起着隔离作用,应用程序只要考虑GDI函数不必考虑设备,是实现设备无关性输出的关键措施。 GDI函数及其分类 取得和释放设备描述表代号的函数 如前所述:BeginPaint、GetDC、GetWindowDC 取得字体尺寸信息的函数:GetTextMetrics 。 ?绘图函数:LineTo(画直线)等 ?设定和取得设备描述表中有关属性的函数 SetTextColor、SetTextAlign等 使用GDI对象的函数 逻辑笔、画刷、字体等对象,使用时加载到设备描述表中 GDI绘制的基本图形 直线和曲线 支持直线、矩形、椭圆、圆弧 填入区域 对封闭区域可以使用当前GDI画刷对象进行填图 点阵图 常用于图像的显示:bmp文件 文本 图形程序设计的其他问题 ?映射模式及其变换 ?Metafile(元文件) metafile以图形绘制命令描述图像,因此可以对图像进行缩放而不会失真 ?绘图区域 路径 裁剪 ?调色盘 ?打印 设备描述表 取得设备描述表代号的方法 GetWindowDC:获取整个窗口的设备描述表代号,在WM_NCPAINT消息分支中响应。 CreateDC:取得整个屏幕的设备描述表代号,常用于打印机。 CreateIC:获取设备描述表的一些信息,但不能用此绘图。 取得设备描述表中信息的方法 GetDeviceCaps,确定设备处理不同类型图形的能力。 程序 保存设备描述表 原因 希望对改变后的设备描述表属性在下次使用仍然有效。 解决 在注册窗口时加入CS_OWNDC属性,只需初始化一次属性,一般在WM_CREATE消息响应中设置。 CS_OWNDC只影响GetDC和BeginPaint获得的设备描述表 SaveDC,RestoreDC 设备描述表的构成 由19项构成 如果不对其属性改变,使用的是默认值,如上一章例子中使用的TextOut函数 典型: Tex tColor Font Current Position 解析度 概念 每度量单位内的像素数目,打印机经常用“每英寸的点数(DPI)”表示,显示器以水平和垂直的总像素来表示的。 如果设备的水平解析度与垂直解析度相等,称为正方形像素。 可以使用SM_CXSCREEN和SM_CYSCREEN参数得到像素尺寸 色彩 色彩数 每个像素的色彩数由表达颜色的二进制位数决定,最简单的黑白显示器由1位表达 在大多数GDI函数调用中,使用COLORREF值,该值是一个32位的无正负号长整数,但只用了24位(3个8位,R、G、B3基色各占8位) 通常利用宏RGB构建 画线函数与画笔 处理像素的函数 Windows GDI尽管包含了SetPixel和GetPixel函数,但很少使用它们。 SetPixel (hdc, x, y, crColor) ;//在(x,y)坐标处设置像素颜色crColor GetPixel函数返回指定座标处的像素颜色: crColor = GetPixel (hdc, x, y) ; 画线函数与画笔 画线函数 画线函数的作用是画出图形的轮廓线。Windows支持画直线、椭圆线等 LineTo 画直线。 Polyline和PolylineTo 画一系列相连的直线。 PolyPolyline 画多组相连的线。 Arc 画椭圆线。 PolyBezier和PolyBezierTo 画贝塞尔曲线。 正弦曲线程序SINEWAVE 画线函数与画笔 画线函数 与画线函数相关的设备描述表的属性:当前画笔的地址、画笔、背景方式、背景色和绘图模式 MoveToEx函数改变(确定)画笔当前地址,用POINT结构体表达地址信息,可利用GetCurrentPositionEx函数获得画笔当前地址。 图形函数 Rectangle画矩形 Pie 画部分椭圆,呈扇形 Chord画部分椭圆,呈弓形 画线函数与画笔 图形函数 画矩形Rectangle (hdc, xLeft, yTop, xRight, yBottom) ; 画线函数与画笔 图形函数 画椭圆Ellipse(hdc, xLeft, yTop, xRight, yBottom) ; (xLeft, yTop), (xRight, yBottom)构成的虚线称为椭圆的外接矩形 画线函数与画笔 图
您可能关注的文档
- 第2章 C++语法之数据类型.ppt
- 第2章 C语言的基本知识 - 副本.ppt
- 第2章 SQL语言概述.ppt
- 第02章 基本数据类型、运算符与表达式.ppt
- 第2章 面向对象程序设计.ppt
- 第2章 面向对象程序设计基础.ppt
- 第2章 语言基础.ppt
- 第2章 C++编程入门.ppt
- 第2章 C语言版输入输出.ppt
- 第2章 C语言程序设计的初步知识.ppt
- 实施指南(2025)《JB_T 12842-2016空调系统用辐射换热器》.pptx
- 实施指南(2025)《JB_T 12843 - 2016 离心式制冷剂压缩机解读》.pptx
- 实施指南(2025)《JB_T 12851-2016柴油机喷油泵 等压出油阀偶件》.pptx
- 实施指南(2025)《HJ 804-2016土壤 8种有效态元素的测定 二乙烯三胺五乙酸浸提-电感耦合等离子体发射光谱法》.pptx
- 实施指南(2025)《HJ600-2011水质梯恩梯、黑索今、地恩梯的测定气相色谱法》.pptx
- 实施指南(2025)《JB_T 6118 - 2016 沉降过滤离心机解析》.pptx
- 实施指南(2025)《HJ 811-2016水质 总硒的测定 3,3'-二氨基联苯胺分光光度法》.pptx
- 实施指南(2025)《HJ 814-2016水和土壤样品中钚的放射化学分析方法》.pptx
- 实施指南(2025)《HJ19-2011环境影响评价技术导则生态影响》.pptx
- 实施指南(2025)《HJ605-2011 土壤挥发性有机物检测标准解读》.pptx
文档评论(0)