基于vc的图形实现-简单的图形编辑程序—毕业设计论文内容摘要:

pDC)。 DECLARE_SERIAL(CDLine) }。 主要画图的算法如下: CPen m_pen。 (m_PenStyle,m_PenWidth,m_PenColor)。 CPen* pen=(CPen*)pDCSelectObject(amp。 m_pen)。 COLORREF OldColor=pDCSetBkColor(m_BackgroundColor)。 int OldBkMode=pDCSetBkMode(m_BkMode)。 pDCMoveTo(m_FirstPoint)。 pDCLineTo(m_SecondPoint)。 pDCSelectObject(pen)。 pDCSetBkMode(m_BkMode)。 方形 类 class CRectangle:public CUnit { public: virtual void OnMouseMove(CDC*pDC,CEastDrawView*pView,CPoint point)。 virtual void OnLButtonDown(CDC *pDC, CEastDrawView *pView, CPoint point)。 virtual void DrawActive(CDC *pDC,CPoint point)。 virtual void ShowSelectPoint(CDC *pDC)。 virtual BOOL IsInRgn(CPoint point)。 virtual int IsOnMarginPoint(CPoint point)。 CRectangle()。 virtual void Serialize(CArchive amp。 ar)。 virtual void DrawStatic(CDC*pDC)。 DECLARE_SERIAL(CRectangle) }。 画图算法如下: CPen m_pen。 CBrush m_brush。 (m_PenStyle,m_PenWidth,m_PenColor)。 CPen* pen=(CPen*)pDCSelectObject(amp。 m_pen)。 LOGBRUSH brushlog。 =m_BrushColor。 =m_BrushHatch。 =m_BrushStyle。 (amp。 brushlog)。 SetBrushOrg(pDC,amp。 m_brush)。 CBrush*brush=(CBrush*)pDCSelectObject(amp。 m_brush)。 int OldBkMode=pDCSetBkMode(m_BkMode)。 COLORREF OldColor=pDCSetBkColor(m_BackgroundColor)。 pDCRectangle(CRect(m_FirstPoint,m_SecondPoint))。 pDCSelectObject(brush)。 pDCSelectObject(pen)。 pDCSetBkMode(OldBkMode)。 pDCSetBkColor(OldColor)。 圆形 类 class CRound:public CUnit { DECLARE_SERIAL(CRound) public: void OnMouseMove(CDC*pDC,CEastDrawView*pView,CPoint point)。 virtual void OnLButtonDown(CDC *pDC, CEastDrawView *pView, CPoint point)。 virtual void DrawActive(CDC *pDC,CPoint point)。 virtual void ShowSelectPoint(CDC *pDC)。 virtual void Serialize(CArchive amp。 ar)。 virtual int IsOnMarginPoint(CPoint point)。 virtual BOOL IsInRgn(CPoint point)。 virtual int ComputRadious(CPoint centerPoint, CPoint movingPoint)。 virtual void DrawStatic(CDC*pDC)。 CRound()。 }。 B 曲线 类 class CPolyBezier:public CUnit { DECLARE_SERIAL(CPolyBezier) public: virtual void OnContextMenu(CWnd *pWnd, CPoint point)。 virtual void Serialize(CArchiveamp。 ar)。 virtual void OnMenuitemOk(CDC *pDC, CEastDrawView *pView)。 virtual BOOL IsInRgn(CPoint point)。 virtual int IsOnMarginPoint(CPoint point)。 void DrawMaskPoint(CDC*pDC)。 virtual void ShowSelectPoint(CDC*pDC)。 virtual void DrawStatic(CDC*pDC)。 virtual void OnMouseMove(CDC*pDC,CEastDrawView*pView,CPoint point)。 virtual void OnLButtonDown(CDC*pDC,CEastDrawView*pView,CPoint point)。 virtual void DrawActive(CDC *pDC,CPoint point)。 CPolyBezier()。 CPoint*m_PointList。 BOOL m_HaveDrawFirst。 }。 多边形 类 class CPolygon:public CUnit { DECLARE_SERIAL(CPolygon) public: virtual void OnMouseMove(CDC*pDC,CEastDrawView*pView,CPoint point)。 virtual void OnLButtonDown(CDC *pDC, CEastDrawView *pView, CPoint point)。 virtual void DrawActive(CDC *pDC,CPoint point)。 virtual void ShowSelectPoint(CDC *pDC)。 virtual void ExchangeDraw(CDC *pDC, CPoint point)。 virtual BOOL IsInRgn(CPoint point)。 virtual int IsOnMarginPoint(CPoint point)。 virtual void DrawEnd(CDC*pDC,CPoint point)。 CPolygon()。 virtual void DrawMask(CDC*pDC,CPoint point)。 virtual void DrawStatic(CDC*pDC)。 virtual void Initial()。 void Serialize(CArchive amp。 ar)。 }。 第四章 系统详细设计 界面设计 存储结构设计 存储格式包括两种,一种是位图结构,一种是矢量图结构。 位图结构的保存代码设计为: CEastDrawView*pView。 POSITION pos=GetFirstViewPosition()。 pView=(CEastDrawView*)GetNextView(pos)。 return pViewSaveDIB(NULL,file)。 矢量图格式存储代码设计为: if (()) { arm_TotalSize。 arm_CenterPoint。 // TODO: add storing code here } else { arthism_TotalSize。 arm_CenterPoint。 // TODO: add loading code here } (ar)。 (ar)。 (ar)。 (ar)。 (ar)。 (ar)。 (ar)。 (ar)。 (ar)。 (ar)。 (ar)。 (ar)。 第五章 系统测试 测试原则 80— 20 原则 80%的软件缺陷常常生存在软件 20%的控件里。 这个原则告诉我们,如果你想使软件测试有效地话,记住常常光临其“高危多发”地段。 在那里发现软件缺陷的可能性会大的多。 这一原则对软件测试人员提高测试效率及缺陷发现串有着重大的意义。 全程测试 如果单纯的将程序设计阶段后的阶段称之为软件测试的话,需求阶段和设计阶段的缺陷产生的放大效应会加大。 这非常不利于保址软件质最。 需求缺陷、设计缺 陷也是软件缺陷,记住“软件缺陷具有生育能力”。 软件测试跨越整个软件开发流程。 需求验证 (自检 )和设计验证 (白检 )也可以算作软件测试的一种。 软件测试应该是一个泛型概念,涵盖整个软什生命周期,这样才能确保周期的每个阶段禁得起考验软件测试是提高软件产品质量的必要条件而非充分条件,软件测试是提高产品质量最直接、最快捷的手段,但决不是一个根本于段。 测试具有免疫性 软件缺陷与病毒一样具有可怕的”免疫性” ,测试人员对 采用的测试越多,其免疫能力就越强,寻找更多软什缺陷就更加困难。 在软件测试中采用单一的方法不能 高效和完全的针对所有软件缺陷, 此软件测试应该尽可能的多采用多种途径进行测试。 模块测试结果 画图测试 缩放选择测试 第六章 结论 通过实际使用,我们感觉这套系统的优势是: 1.具备一定的 绘图 功能.使我们可以很好的 作图 ,在很大程度上掌握了工作的主动性,提高了效率; 2.方便的 图形保存 ,使用起来方便快捷; 3.界面设计合理,使用美观,方便。 通过毕业设计我收获不少主要是以下几个方面:一是对软件工程知识进行了系统的学习,在实践中丰富了自己,提高了自己。 通过模块分析设计,系 统的选择与设计,进一步加深了所学习的知识。 二是对于 VC编程有了一点的实践能力。 通过对数据库系统的设计,提高了自己的编程能力。 在 VC编程有了很大的提高。 三是学会了自主学习。 通过不断的学习查找资料,我深深体会到学习的重要性。 同时我也感到了自身的不足,一是知识有限,需要不断的加强学习,在新技术不断涌现的今天要不断提高自身的知识水平。 二是理论和实践还有一定的差距,需要在今后的工作中不断提高理论和实践的水平。 参考文献 [1] 胡晓军,邓波,高宏伟等《 Visual C++高级开发范例解析》,电子工业 出版社, 2020 [2] David ,潘爱民 译《 Visual C++技术内幕》,人民邮电出版社, 2020 [3] 吴文奎 《最流行图像格式实用参考手册》,电子工业出版社, 1998 [4] 徐慧,《 Visual C++数字图像实用工程案例精选》,人民邮电出版社, 2020 [5] 胡峪《 Visual C++++编程技巧与示例》,西安电子科技大学出版, 2020 [6] 袁峰《 Windows图形编程》,人民邮电出版社, 2020 致 谢 当这篇论文最终完成的时候,我要向给予过我热 情帮助和悉心指导的老师和师兄们致以真诚的谢意。 首先,我要感谢我的导师,感谢他带给我来学习的机会,感谢他对我学术上的悉心指导,感谢他对我生活上的关怀和体贴。 老师是不仅是我学业上的导师,更是生活中让我敬佩的学者、长者。 给我留下深刻印象的,是他知识的渊博、治学态度的严谨、诲人不倦的学者风范,是他谦逊待人、处处关心别人的长者风度,是他勤奋忘我的工作态度、精益求精的治学作风。 特别是老师做大事的风范和气度,尤其让我钦佩。 毕业设计(论文) 学 院: 专 业 : 班 级 : 姓 名: 毕业设计题目 简单的图形编辑程序 指导教师 20XX 年 3 月 21 日 摘要 该文以计算机图形学及图像处理的理论为基础,提出了图像分析与处理的一些基本功能;文中给。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。