三维统计直方图应用程序设计(详细步骤+图示).docVIP

三维统计直方图应用程序设计(详细步骤+图示).doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三维统计直方图应用程序设计 一实验目的 1掌握常用绘图函数的功能与用法 2掌握Visual C++6.0绘图应用程序设计方法 3 通过实例掌握画笔、画刷的使用方法 4 了解GDI函数的功能与作用 二实验任务 分局下表所示数据设计应用程序,使该应用程序能采用直方图形式实现统计报表,并具有以下特点: 统计直方图具有三维图形效果 直方图不能占满整个窗口 直方图相邻图的颜色互不相同 优秀 良好 中等 及格 不及格 人数 181 286 360 228 56 三实验指导 1使用GDI绘图函数 根据任务要求,本实验需要使用GDI绘图函数,通过GDI函数函数可以实现与设备无关的图形操作。这些函数可以在设备上绘制各种线条、图形、文本和位图,它们组成了Windows图形设备接口,即GDI。MFC类库将图形函数封装在CDC类中。 2实验所涉及的GDI绘图工具 (1)画笔(Pen):用于控制线条的属性,例如绘制直线、曲线、二维封闭平面图形的边界等。 (2)画刷(Brush):用于控制二维图形区域的内部属性,例如绘制直方图时的矩形和平行四边形等。 3 画笔的使用方法 先定义新画笔对象,取代默认的画笔。 创建并初始化画笔,即通过成员函数CreatePen等初始化画笔。对于画刷,则使用成员函数CreateHatchBrush等初始化画刷 将自定义画笔选入设备环境,用指针变量保存默认的画笔。 采用设备环境中的画图工具绘图。 删除自定义画笔,恢复设备环境的默认画笔 具体使用绘图工具时,如果画笔或画刷已经初始化,则可以直接从初始化以后的步骤开始。画刷的使用与画笔的使用方法类似。 使用向导生成3DDrawApp对话框应用程序 单击文件|新建,然后进入如下界面,选择MFC AppWizard[exe],在工程名称中输入3DDrawApp,点击确定。 选择单文档,点击下一步 点击下一步 点击下一步 点击下一步 点击完成 点击确定 在项目工作区选择Class View,单击3DdrawApp类前的“+”号,显示出该类的全部成员函数,然后双击OnDraw成员函数,系统自动打开3DdrawApp.cpp文件,并定位在函数OnDraw的起始处。 在成员函数OnDraw中添加如下代码: void CMy3DDrawAppView::OnDraw(CDC* pDC) { CMy3DDrawAppDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here const int x0=50,y0=10,x1=550,y1=400; const int N=5; //直方图数量 const int deltah=60; //等高线间隔 int delta_x=(x1-x0)/N; int h=delta_x/5; //条图侧面平行四边形宽度或顶端平行四边高度 int s[N]={56,228,360,286,181}; int i=0,x=0,y; CString str; CPoint p[4]; //四边形的四个顶点 CBrush brush; //定义画刷类对象 CPen pen,MyPen,*ptr_pen; //定义CPen类对象 srand((unsigned)time(NULL)); MyPen.CreatePen(PS_SOLID,2,RGB(0,0,0)); //创建新画笔 pDC-Rectangle(x0,y0,x1+h,y1); ptr_pen=pDC-SelectObject(MyPen); //将画笔选入设备环境并保存系统画笔 for(i=0,x=x0;iN;i++,x+=delta_x) { //创建新画刷并定义属性 brush.CreateHatchBrush(rand()%6,RGB(rand()%255,rand()%255,rand()%255)); pDC-SelectObject(brush); //选入新画刷 pDC-Rectangle(x,y1-s[i],x+delta_x,y1); //绘制条图正面矩形 p[0].x=x; p[0].y=y1-s[i]; p[1].x=p[0].x+

文档评论(0)

dmz158 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档