ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:102.19KB ,
资源ID:23993614      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23993614.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于C++net的绘图软件的实现课程设计报告书.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于C++net的绘图软件的实现课程设计报告书.docx

1、基于C+net的绘图软件的实现课程设计报告书VC+.net程序设计课程设计报告书题目: 绘图软件的设计 班级: 0991151 学号: 1099115113 姓名: 姜远飞 教师: 姚 璐 周期: 2010.12.272010.12.31 成绩: 2010年12月30日绘图软件的设计一、课程设计的目的与要求 (一)课程设计目的与任务用VC+.NET实现画图软件的功能。可以实现圆、矩形、画笔的绘图,并能选择相应的边框颜色和填充颜色,选择线宽和线的类型。(二)题目要求单文档应用程序,能够选择图形的类型(圆,矩形,直线,画笔),能够选择图形的颜色,能够对绘制的图形进行颜色填充,能够选择图形的线型(如

2、实线,点线,虚线等),能够选择画线的颜色和线的宽度。二、设计正文1 系统分析和开发背景用VC+.NET开发画图应用软件的功能。实现和用户的交互,根据用户的选择来实现相应图形的绘制。2 功能详细描述以菜单选择为主,根据用户的不同菜单选择来改变当前所要绘制的图形。用“画图”菜单下的“类型”菜单来选择所要绘制的图形是圆、矩形、直线还是画笔。用“画图”菜单下的“颜色”菜单来编辑所要绘制图形的边框颜色。用“画图”菜单下的“线性”菜单来选择边框的线性(实线、虚线、点线)。用“画图”菜单下的“线宽”菜单来选择边框的宽度。用“画图”菜单下的“填充”菜单来实现对所绘制的圆和矩形进行颜色填充。用“画图”菜单下的“

3、橡皮”菜单来实现对所绘制的图形进行擦除。3、数据结构和数据库设计4、主要功能逻辑过程和实现算法图的绘制主要在鼠标的左键按下、鼠标移动、鼠标左键松开的事件中来完成。类型、颜色、线形、线宽、填充、橡皮等都用相应的变量值来表示。当选择某一种操作后,相应的变量值会改变,依次来判断用户的选择。实现算法如下:void ChuatuView:OnLButtonDown(UINT nFlags, CPoint point) / 按下鼠标左键 if(type=5) p1=point; medc=new CClientDC(this); medc-SelectStockObject(WHITE_PEN); med

4、c-SelectStockObject(WHITE_BRUSH); pdc-SelectStockObject(BLACK_PEN); pdc-SelectStockObject(WHITE_BRUSH); pdc-Rectangle(p1.x-xpwidth,p1.y-xpwidth,p1.x+xpwidth,p1.y+xpwidth); else p1=p2=point; pen.CreatePen(style,width,color); pdc-SelectObject(&pen); if(tc) bsh.CreateHatchBrush(tcstyle,tccolor); pdc-Se

5、lectObject(&bsh); else pdc-SelectStockObject(NULL_BRUSH); pdc-SetROP2(R2_NOTXORPEN); b=true; CView:OnLButtonDown(nFlags, point);void ChuatuView:OnMouseMove(UINT nFlags, CPoint point) / 移动鼠标 if(!b) return; if(type=1) pdc-MoveTo(p1.x,p1.y); pdc-LineTo(p2.x,p2.y); p2=point; pdc-MoveTo(p1.x,p1.y); pdc-L

6、ineTo(p2.x,p2.y); else if(type=2) pdc-Ellipse(p1.x,p1.y,p2.x,p1.y+(p2.x-p1.x); p2=point; pdc-Ellipse(p1.x,p1.y,p2.x,p1.y+(p2.x-p1.x); else if(type=3) pdc-Rectangle(p1.x,p1.y,p2.x,p2.y); p2=point; pdc-Rectangle(p1.x,p1.y,p2.x,p2.y); else if(type=4) pdc-MoveTo(p1.x,p1.y); pdc-LineTo(point.x,point.y);

7、p1=point; else if(type=5) medc-Rectangle(p1.x-xpwidth,p1.y-xpwidth,p1.x+xpwidth,p1.y+xpwidth); p1=point; pdc-Rectangle(p1.x-xpwidth,p1.y-xpwidth,p1.x+xpwidth,p1.y+xpwidth); CView:OnMouseMove(nFlags, point);void ChuatuView:OnLButtonUp(UINT nFlags, CPoint point) /释放鼠标左键 if(type=5) medc-Rectangle(p1.x-

8、xpwidth,p1.y-xpwidth,p1.x+xpwidth,p1.y+xpwidth); else pdc-SetROP2(R2_COPYPEN); if(type=1) pdc-MoveTo(p1.x,p1.y); pdc-LineTo(point.x,point.y); else if(type=2) pdc-Ellipse(p1.x,p1.y,point.x,p1.y+(point.x-p1.x); else if(type=3) pdc-Rectangle(p1.x,p1.y,point.x,point.y); else if(type=4) pdc-MoveTo(p1.x,p

9、1.y); pdc-LineTo(point.x,point.y); b=false; CView:OnLButtonUp(nFlags, point);5、界面设计(“类型”菜单)(“颜色”菜单)(“线性”菜单)(“线宽”菜单)(“填充”菜单)(“橡皮”菜单)6、系统测试三、小组成员分工说明独立完成四、课程设计总结或结论1 课程设计过程中出现的技术难点和解决方法:解决根据用户的不同选择来构造不同的画笔和画刷。可以把创建画笔和画刷所需要的参数定义成相应的变量,用户的选择来改变某个参数所关联的变量的值,如创建画笔需要“画笔的类型”、“画笔的宽度”、“画笔的颜色”就可以创建三个变量:stylewidthcolor来分别表示,这样就可以在绘制图形之前用这三个变量来创建画笔了。从而实现绘制不同的图形边框。2 课程设计期间的主要收获:对 GDI工具的使用有了跟深刻的理解,对实现图形的绘制掌握了一定的基础。3 对今后课程设计的建议提供一些有利的参考资料,以便在遇到问题时可以尽快解决。五、参考文献 1 梁兴柱,王建一,龚丹,林玉娥.Visual C+.NET程序设计.清华大学出版社六、指导教师评阅意见附录(其他必要资料)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1