- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
谢谢! 第5章 图形操作 内容摘要: CD和CDC类 GDI和CGdiObject类 绘图程序实例一 绘图程序实例二 返回目录 5.1 CD和CDC类 学习目标 1.了解设备环境(Device Context,简称DC) 和设备环境类(CDC) 2. 利用设备环境类进行简单绘图 5.1 返回第5章 使用设备环境类绘图的一个简单例子 利用AppWizard生成基于对话框程序框架(BmpTest ) 添加画线和画椭圆的代码 (OnPaint()函数) 见下页 代码解释: (1)CPaintDC dc(this);这句代码是生成一个CPaintDC类的实例dc,生成后就可以调用他的函数来进行绘图了。 (2)dc.MoveTo(30,30);调用dc的MoveTo函数把画线的起点定在对话框的(30,30)坐标点。MoveTo函数的一般调用格式为:MoveTo(int x,int y),其中参数x,y是要画直线的起始点坐标。 (3)dc.LineTo(30,30);调用dc的LineTo函数画线到(100,100)坐标点。LineTo函数的一般调用格式为:LineTo(int x,int y),其中参数x,y是所画直线的终止点坐标。 ( 4)dc.Ellipse(120,120,160,160);本句代码的作用是调用设备环境对象dc的画椭圆函数Ellipse画椭圆。Ellipse函数的一般调用格式为: Ellipse(LPCRECT lpRect),其中参数 lpRect是所画椭圆的外接矩形 。 5.1 5.1 void CBmpTestDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND,(WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); } else { CPaintDC dc(this); // device context for painting dc.MoveTo(10,10); dc.LineTo(100,100); dc.Ellipse(120,120,160,160); CDialog::OnPaint(); } } 2.1 void CBmpTestDlg::OnPaint() { if (IsIconic()) { //与前一页代码相同; else { CPaintDC dc(this); // device context for painting CPen newpen(PS_SOLID,1,RGB(0,255,0)); CBrush newbrush(RGB(0,0,255)); CPen *pOldpen=dc.SelectObject(newpen); CBrush *pOldbrush=dc.SelectObject(newbrush); dc.MoveTo(10,10); dc.LineTo(100,100); dc.Ellipse(80,80,120,120); dc.SelectObject(pOldpen); dc.SelectObject(pOldbrush); CDialog::OnPaint(); } } 4.改变画图颜色 5.1 代码解释: 1.CPen newpen(PS_SOLID,1,RGB(0,255,0));生成一支颜色为绿色、宽度为1个像素的实心画笔。 2.CBrush newbrush(RGB(0,0,255));生成一只颜色为蓝色的画刷。 3.CPen *pOldpen=dc.SelectObject(newpen);把刚生成的画笔选进设备环境对象dc,这样再画线就用新的笔了。当SelectObject函数的参数为画笔类型时,返回值为原来所用画笔的指针。 4.CBrush
您可能关注的文档
- 《Lektion5EssenundTrinken》-课件设计(公开).ppt
- 《M6S工艺知识》-课件设计(公开).ppt
- 《MATLAB的学习点滴1》-课件设计(公开).ppt
- 《NB使用培训》-课件设计(公开).ppt
- 《newch2非线性方程的数值解法【精品】》-课件设计(公开).ppt
- 《newch5插值型数值微分与数值积分【精品】》-课件设计(公开).ppt
- 《newch6常微分方程初值问题的数值解法【精品】》-课件设计(公开).ppt
- 《Paragraph5》-课件设计(公开).ppt
- 《part2[1]4多元回归》-课件设计(公开).ppt
- 《PCB辅助设计》-课件设计(公开).ppt
最近下载
- 15《小岛》(说课课件)部编版语文五年级上册.pptx VIP
- 含电容电路含电容电路.doc VIP
- TED中英双语演讲稿Why we love, why we cheat.pdf VIP
- 债券借贷视角看利率.pptx VIP
- 画法几何及机械制图(第6版)课后习题答案解析.pdf
- GB/T 19024-2025质量管理体系 面向质量结果的组织管理 实现财务和经济效益的指南.pdf
- 党课讲稿:从网络大国走向网络强国,让互联网点亮我们的生活.doc VIP
- ARC低压无功补偿装置安装使用说明书(安瑞科液晶显示).pdf VIP
- 班主任如何培养班干部(课件PPT).pptx VIP
- 深圳市历年中考真题及答案2025.doc VIP
原创力文档


文档评论(0)