- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GDI图形编程,gdi图形程序设计,gdi图形程序设计pdf,gdi高级编程,gdi编程,精通gdi编程,windowsgdi编程,精通gdi编程pdf,gdi高级编程pdf,gdi编程指南
GDI+图形编程 姓名:杨建枝 TELE-Mail:jzhyang@163.com GDI+图形编程 §1 GDI+编程基础 §2 画刷和画笔 §3 文本与字体 §4 路径和区域 §1 GDI+编程基础 GDI+体系结构 GDI+新特色 GDI与GDI+ GDI+程序的开发 一个简单的GDI+程序 GDI+体系结构 GDI+新特色 渐变画刷 线性渐变画刷:可以是双色渐变,也可以是多色渐变。默认情况下,双色渐变由起始颜色沿着水平方向平均过渡到终止颜色,其渐变过程是可以控制的。 路径渐变画刷:用于定义路径内部的渐变色画刷。渐变色从路径内部的中心点逐渐过渡到路径的边框。GDI+中使用GraphicsPath(图形路径)来定义路径,应用程序使用路径来绘制形体的轮廓、填充形体内部及创建剪切区域。 独立的路径对象(Path Objects) 路径是可以被填充、被画出轮廓或同时画出轮廓并填充的一个或多个图形。 在GDI中,路径是设备环境的一个对象,在BeginPath函数和EndPath函数之间进行绘图时,绘图的住处自动存入路径信息,下次使用BeginPath后便被新的路径信息覆盖,即GDI中的路径信息是唯一的且不断改变的;在GDI+中,绘图是由图形对象来完成,可以创建多个图形对象进行绘图,多个图形对象产生的路径信息是相对独立的,而且不会被新的绘图操作所覆盖。。 矩阵对象(Matrix Object) GDI+提供了矩阵对象来使图形在变形(旋转及平移)时做到简单且效果平滑。 通过矩阵运算,可以完成包含投射变换在内的所有伪射变换:例如坐标变换、色彩变换。 Alpha通道合成运算(Alpha Blending) 多格式图片支持:BMP、GIF、JPEG、EXIF、PNG、TIFF、ICON、WMF、EMF GDI与GDI+ GDI是一个状态模型编程(将画刷等对象选入设备环境之后才能进行绘图输出的编程方式);而GDI+中使用的是非状态模型编程。 GDI是过程化的编程模式,需要关心设备环境(DC),所有的输出都是由设备环境来完成的。GDI+是对GDI的高级封装,只需要关心Graphics对象,而无需关心设备环境和句柄。MFC的CDC只是对GDI的一个简单封装,并不是一个完全的面向对象的思想。 关于坐标,GDI+没有坐标映射的概念。 GDI+程序的开发 GDI+相关的SDK Windows 2000及之前的版本,要用Gdi+需要下载GDI+的动态链接库:GdiPlus.dll。Widnows XP及之后的则勿需。 开发GDI+应用程序,Visual Studio 6.0及其之前的版本均需要下载SDK包,可在/msdownload//platformsdk/sdkupdate/中升级Platform SDK。Platform SDK的头文件和库文件中有70多个类、50个枚举、6个结构体。 一个简单的GDI+程序 创建一个简单的Windows窗口应用,也可以是MFC应用程序。我们采用了MFC单文档视图应用程序,工程名称为:GdiplusExam01 。 引入Gdi+库。在stdafx.h文件中加入三行代码:#include GdiPlus.h#pragma comment(lib, “GdiPlus.lib”)using namespace Gdiplus; 添加GDI+记号。在CGdiplusExam01App类中加入一个私有成元变量,变量类型为ULONG_PTR,变量名m_ulGdiToken。此变量用于在初始化GDI+库时记录GDI+初始化后的标志,并用于卸载GDI+库。 初始化GDI+库。在使用GDI+对象前,必须先初始化GDI+库。在CGdiplusExam01App类中的InitInstance函数CWinApp::InitInstance()后加入以下代码:// 初始化GDI+库GdiplusStartupInput iGsi;if (GdiplusStartup(m_ulGdiToken, iGsi, NULL) != Ok){ AfxMessageBox(_T(初始化GDI+库失败)); return FALSE;} 卸载GDI+库。在CGdiplusExam01App类中添加方法ExitInstance,并加入以下代码: // 卸载GDI+库 if (m_ulGdiToken != NULL) { GdiplusShutdown(m_ulGdiToken); m_ulGdiToken = NULL; } 画图。在CGdiplusExam01View::OnDraw加入:// 构造Graphics对象Graphics g(pDC-GetSafeHdc());/
您可能关注的文档
- 27齿轮.doc
- 3d_max-8.0-3课.ppt
- 3、蜡烛.doc
- 3DMAX(效果班)B班A班+B班全部笔记.doc
- 3月学习资料.doc
- 3聚类分析.ppt
- 3浙教版科学八年级上期末试卷.doc
- 4 把铁路修到拉萨去 PPT演示文稿 五年级语文下册.ppt
- 412联考:2014江西公务员考试行测真题及答案解析(文字版).doc
- 4循环生理生理蚌埠医学院精品课程练习.doc
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
文档评论(0)