北邮程序设计实践——画图

北邮程序设计实践——画图

ID:38519460

大小:214.50 KB

页数:11页

时间:2019-06-14

北邮程序设计实践——画图_第1页
北邮程序设计实践——画图_第2页
北邮程序设计实践——画图_第3页
北邮程序设计实践——画图_第4页
北邮程序设计实践——画图_第5页
资源描述:

《北邮程序设计实践——画图》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、北京邮电大学信息与通信工程学院程序设计实践设计报告课题名称:实验一画图程序第11页北京邮电大学信息与通信工程学院课题概述1.1课题目标和主要内容1.1.1主要内容和目标:A.基本功能界面中使用鼠标画点、圆、线等功能(使用菜单选择画什么即可)设置颜色(使用菜单设定几种颜色即可)保存,打开bmp文件选做功能保存,打开自定义格式文件图像二值化、平滑、连通域标记等B.目标对windows程序编程有一个初步的认识,对其消息处理体制有初步理解,掌握编程工具如vs的调试方法,熟练使用1.1.2编译环境:visualstudio20121.2系统的主要功能功能列表或功能框图,以及功能的简要说明

2、。第11页北京邮电大学信息与通信工程学院2.系统设计2.1系统总体框架包括系统框架图或层次逻辑图,设计思想等winmain.cpp:系统消息的获得与处理Graphicwindow.h:类的定义Graphicwindow.cpp:类中函数的定义fig.rc、resource.h:完成菜单的添加ccc_shap.h、ccc_shape.cpp完成图形类的定义test.h:实现画图函数的声明第11页北京邮电大学信息与通信工程学院test.cpp:实现画图函数的声明2.2系统详细设计[1]类关系图及描述[2]程序流程图及描述winmain.cpp对接收到的消息进行处理,进而根据消息调用

3、相应类函数,类函数中真正画图函数的实现在test.cpp中[3]存储结构、内存分配定义了全局栈vector1,对鼠标移动中的坐标点进行记录定义全局point类型,对鼠标左键up和down时的坐标点进行记录以下均为全局变量:intWIDTH=3,RORTR=1;//WIDTH方便改变线条粗细,RORTR判断是输出圆还是椭圆第11页北京邮电大学信息与通信工程学院Pointendot,bedot;//分别记录终点和起点,用于画直线、圆、椭圆、长方形COLORREFmmcolor=RGB(0,0,0);//线条颜色COLORREFficolor=RGB(0,0,0);//填充颜色2.3

4、关键算法分析算法一:caseWM_MOUSEMOVE://记录鼠标移动过程的点{intx=LOWORD(lParam);inty=HIWORD(lParam);if((wParam&MK_LBUTTON)){//鼠标在移动过程中按着LBUTTON和SHIFT键logoutput("鼠标在移动过程中按着LBUTTON和SHIFT键");vector1.push_back(Point(x,y));}}InvalidateRect(hwnd,NULL,TRUE);break;根据系统以及定义好的消息—WM_MOUSEMOVE,每当鼠标移动变回收到这个消息,进而将鼠标轨迹中的点压入栈中

5、算法二:caseWM_LBUTTONDOWN://记录起点{intx=LOWORD(lParam);inty=HIWORD(lParam);bedot=Point(x,y);}获得按下鼠标左键时的点,以便在画直线、圆、椭圆时应用相似的可以利用WM_LBUTTONUP消息获得算法三:voidmydot(GraphicWindow&cwin)//画点{externCOLORREFmmcolor;for(inti=0;i

6、_x(x.get_x()),cwin.disp_to_user_y(x.get_y()));x1.SetColor(mmcolor);cwin<

7、n.disp_to_user_y(be.get_y()));if(i+1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。