基于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 日 摘要 该文以计算机图形学及图像处理的理论为基础,提出了图像分析与处理的一些基本功能;文中给。基于vc的图形实现-简单的图形编辑程序—毕业设计论文
相关推荐
Web 页重新定向等。 Web 服务器在接到访问 JSP Web 页的请求时,首先执行嵌入在其中的程序段,然后将执行结果重新嵌入 HTML 代码,一起发送给客户端。 作为新一代的站点开发语言, JSP 克服了 ASP 脚本级执行的不足,可以在 Serverlet和 JavaBean 的支持下开发出功能强大的 web 应用。 另外 JSP 作为一种 Web 实现技术,它的效率是很高的。
,相应地控制点亮对应的小数点以显示光强的方位。 本章小结 本章主要讲述了系统方案的选择与论证并对 系统进行了概述, 通过对不同方案的选择了解整个系统的工作流程,根据实际情况与技术要求,画出了系统结构框图,并拟定了系统总体设计方案,也对系统工作原理作了简要概述。 哈尔滨工程大学本科生毕业设计 9 第 3 章 系统硬件 设计 单片机的选择 单片机定义及特点 在一块芯片上集成 CPU、数据存储器
在理想情况下是一个内阻抗为零的恒压源,输出交流电压是矩形波或阶梯波,这类变频装置叫做电压源型变频器。 一般的交-交变压变频装置虽然没有滤波电容,但供电电源的低阻抗使它具有电压源的 性质,也属于电压源型变频器。 ② 、 电流源型变频器 当交-直-交变压变频装置的中间直流环节采用大电感滤波时,直流电流波形比较平直,因而电源内阻抗很大,对负载来说基本上是一个电流源,输出交流电流是矩形波或阶梯波
器的内部逻辑框图 图 312 MC14433引脚图 MC14433 的框图(图 311)和引脚(图 312)功能说明 各引脚的功能如下: 电源及共地端 VDD: 主工作电源 +5V。 VEE: 模拟部分的负电源端,接 5V。 VAG: 模拟地端。 VSS: 数字地端。 VR: 基准电压。 外界电阻及电容端 RI: 积分电阻输入端, VX=2V 时, R1=470Ω; VX=200Mv 时,
能。 列举如下:(1) 支持多账号。 (2) 可以同时发送同一个消息给一个人,通过输入对方信息。 (3) 可以同时发送一个消息给所有人。 (4) 即使用户不在线,也能通过服务器发送离线消息。 (5) 提供消息、聊天的历史记录,方便对信息的查看和管理。 (6) 提供查看在线的人的功能。 (7) 用户上线通知。 (8) 用户下线更新(9) 有权限的人可以发系统广播通知(10) 查看用户信息(11)