- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 第12章 网络应用开发综合实例 12.1 单机图形图像绘制方法 12.2 多机联合绘图架构设计 12.3 多机联合绘图系统具体实现 本章说明 背景知识 GDI+基础知识(没有学过这部分内容的读者,请首先阅读相关内容,《C#程序设计及应用教程》(第2版)(马骏主编,人民邮电出版社出版,书号:978-7-115-19825)有关于GDI+比较详细的介绍) 本章内容讲解办法 根据教学进度和学生实验情况,将本章穿插到本学期其他章节中讲解,目的是为顺利完成设计型实验提供指导。 12.1.1 将图形图像作为对象 将图形图像作为对象。 当同时绘制多个图形图像时,使用类对象更容易处理。 【例6-1】使用鼠标在Panel内绘制任意大小的椭圆。 运行效果: 12.1.2 鼠标事件处理 1.当拖动鼠标在窗体或控件上实现图形绘制和平移时,都会用到窗体或控件的鼠标事件。常用的鼠标事件有MouseDown事件、MouseMove事件和MouseUp事件。 MouseDown MouseMove MouseUp 用户在窗体或控件上按下鼠标左键 时,会触发MouseDown事件,可以 在此事件中捕获鼠标所在位置的 点的坐标。 可以持续获得鼠标移动时经过的一 系列点的坐标,从而控制图形的大小 用户释放鼠标左键时, 会触发MouseUp事件 12.1.2 鼠标事件处理 2.为了区分绘制和平移等鼠标操作,定义一个类封装对应的MouseDown、MouseMove和MouseUp事件,并将其声明为virtual。当用鼠标绘制和平移对象时分别从该类派生,重写对应的鼠标事件。 12.1.2 鼠标事件处理(续) public class ToolPointer:ToolObject { public override void OnMouseDown(MouseEventArgs e) {…//实现代码 } public override void OnMouseMove(MouseEventArgs e) {…//实现代码 } public override void OnMouseUp(MouseEventArgs e) {…//实现代码 } } 12.1.2 鼠标事件处理(续) ToolObject类对鼠标事件进行封装。ToolRectangle类从ToolObject类继承,它表示使用鼠标实现矩形的绘制。ToolPointer类从ToolObject类继承,它表示使用鼠标实现绘制对象的选中和平移等功能。 12.1.2 鼠标事件处理(续) 为了统一管理绘制对象的平移和绘制操作,定义ToolObject类型的变量activeTool表示当前活动的对象。 若实现绘制对象的平移效果, 则activeTool=new ToolPointer();。 若实现矩形绘制, 则activeTool=new ToolRectangle();。 12.1.2 鼠标事件处理(续) 调用时根据C#执行时调用声明为virtual方法的原则。如果当前创建的是ToolRectangle类的实例,则就会调用ToolRectangle中相应的鼠标事件。 private void panel1_MouseDown(object sender, MouseEventArgs e) { panel1.Capture = false; if (e.Button == MouseButtons.Left) { activeTool.OnMouseDown(e); } 12.1.3 绘制任意大小的基本图形 【例6-2】绘制任意大小的矩形。 运行效果: 12.1.4 绘制任意形状的曲线 程序举例:【例12-3】绘制任意形状的曲线 运行效果: 12.1.5 绘制任意大小和方向旋转的文字 程序举例:【例12-4】绘制任意大小和方向旋转的文字 运行效果: 12.1.6 绘制任意大小的图像 程序举例:【例12-5】绘制任意大小的图像 运行效果: 12.1.7 句柄的设计和处理 句柄也称为控制点,可以用黑色的小方框表示。 比如矩形的句柄个数是8个,这8个句柄将矩形的4个顶点和4条边中间的点作为控制点。 对于曲线而言,可以把构成曲线的点作为句柄。 对于文本来说,可以选择文字所在矩形的左上角和右下角两个点作为控制点。 在DrawObject类中添加句柄处理的抽象方法。 以DrawRectangle类为例,说明如何实现DrawObject类的抽象方法。 12.1.8 鼠标指针状态控制 鼠标指针状态有3种: 绘制状态、非绘制状态和选择状态。 为了判断鼠标的指针状态 添加一个ToolPointe
您可能关注的文档
- AutoCAD绘图及应用教程(2009中文版) 第7章改图ok.ppt
- AutoCAD绘图及应用教程(2009中文版) 第8章改图ok.ppt
- AutoCAD计算机辅助设计 土木工程类 教学课件 王茹 雷光明 03.ppt
- AutoCAD建筑与土木工程制图 教学课件 作者 高恒聚 全书 第1章.ppt
- AutoCAD建筑与土木工程制图 教学课件 作者 高恒聚 全书 第2章.ppt
- AutoCAD建筑与土木工程制图 教学课件 作者 高恒聚 全书 第3章.ppt
- AutoCAD建筑与土木工程制图 教学课件 作者 高恒聚 全书 第4章.ppt
- AutoCAD建筑与土木工程制图 教学课件 作者 高恒聚 全书 第5章.ppt
- AutoCAD建筑与土木工程制图 教学课件 作者 高恒聚 全书 第6章.ppt
- AutoCAD建筑与土木工程制图 教学课件 作者 高恒聚 全书 第7章.ppt
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
最近下载
- 2025年江西管理职业学院教师招聘考试笔试备考题库.docx VIP
- 2024中国中信金融资产管理股份有限公司人力资源部(党委组织部)社会招聘笔试模拟试题及答案解析.docx VIP
- 高考英语完型填空汇总.doc VIP
- 合作经营合同(2020).docx VIP
- 关节活动度测定ppt课件.pptx VIP
- 体育教师专业发展计划.doc VIP
- 影视产业概论 教学大纲.docx VIP
- 明星志愿3群星合辑(星光圆舞曲+银色幻想曲)攻略-详细整理版精要.docx
- Q-CR 570-2017 电气化铁路接触网用力矩控制式胶粘型锚栓.docx VIP
- 煤矿机电事故专项应急预案及现场处置方案.pdf VIP
文档评论(0)