中点画线法程序实现ppt课件.ppt

上传人:牧羊曲112 文档编号:1441344 上传时间:2022-11-25 格式:PPT 页数:52 大小:2.79MB
返回 下载 相关 举报
中点画线法程序实现ppt课件.ppt_第1页
第1页 / 共52页
中点画线法程序实现ppt课件.ppt_第2页
第2页 / 共52页
中点画线法程序实现ppt课件.ppt_第3页
第3页 / 共52页
中点画线法程序实现ppt课件.ppt_第4页
第4页 / 共52页
中点画线法程序实现ppt课件.ppt_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《中点画线法程序实现ppt课件.ppt》由会员分享,可在线阅读,更多相关《中点画线法程序实现ppt课件.ppt(52页珍藏版)》请在三一办公上搜索。

1、学习目标,掌握中点Bresenham画线法的程序实现;,操作步骤,首先建立一个基于MFC应用的工程创建一个CP2类用于存放顶点坐标创建一个Cline类用于实现画线算法本章小结,创建MFC工程,step 1,创建MFC工程,step 2,创建MFC工程,step 3,创建MFC工程,step 4,创建MFC工程,step 5,创建MFC工程,step 6,创建MFC工程,step 7,创建MFC工程,step 8,创建MFC工程,step 9,创建MFC工程,step 10,创建MFC工程,工程完成后,解决方案资源管理器,创建MFC工程,类视图,创建CP2类,Step 1 类视图中,点击主类后,

2、点击鼠标右键,点击“类”,创建CP2类,Step 2 添加类:选择C+类,点击“添加”,创建CP2类,Step 2 :类名取为CP2,点击“完成”,创建CP2类,Step 3 :出现如图所示示意图,CP2中需包含两个成员变量,m_x与m_y来表示点的坐标,同时添加构造函数对这两个成员变量赋值。,创建CP2类,Step 4 :添加成员变量,点击“添加变量”,创建CP2类,Step 5 :添加成员变量m_x,创建CP2类,Step 6 :类似操作添加成员变量m_y,创建CP2类,Step 7 :添加带参数的构造函数,创建CP2类,Step 7 :添加带参数的构造函数,如图所示,点击“完成”,创建C

3、P2类,Step 8 :进入类CP2的实现文件P2.cpp中。,创建CP2类,Step 9 :在构成函数CP2(double x,double y)中实现成员变量m_x与m_y的初始化。,创建CLine类,Cline类实现画直线的功能成员变量:直线的起点坐标CP2 m_P0成员变量:直线的终点坐标CP2 m_P1成员变量:画直线的颜色 COLORREF m_color成员函数: void MoveTo(CDC * pDC, CP2 P0),其功能是定位到直线的起始点。成员函数: void LineTo(CDC * pDC, CP2 P1),其功能是利用Bresenham算法画出起始点在m_P0

4、,终点在m_P1的直线。,创建CLine类,Step 1 类视图中,点击主类后,点击鼠标右键,点击“类”,创建CLine类,Step 2 :选中C+类,单击“添加(A)”按钮,,创建CLine类,Step 3 :输入类名“CLine”。,创建CLine类,Step 4 :添加成员变量,点击“添加变量(B)”,创建CLine类,Step 5 :添加成员变量 CP2 m_P0,点击“完成”,创建CLine类,Step 6 :类似操作,添加成员变量 CP2 m_P1,点击“完成”,创建CLine类,Step 7 :类似操作,添加成员变量 COLORREF m_color,在“变量类型(V)”中输入C

5、OLORREF,点击“完成”,创建CLine类,Step 8 :添加成员函数,点击“添加函数(U)”,创建CLine类,Step 9 :成员函数MoveTo,第一个参数类型CDC *,第二个参数类型CP2,输入参数名后点击“添加(A)”。,创建CLine类,Step 10 :完成成员函数MoveTo的功能。在Line.cpp文件中的MoveTo函数中添加 “m_P0=P0;”的语句,使成员变量m_P0指向直线的起始点。,创建CLine类,Step 11 :添加成员函数,点击“添加函数(U)”,创建CLine类,Step 12 :成员函数LineTo,第一个参数类型CDC *,第二个参数类型CP

6、2,输入参数名后点击“添加(A)”。,创建CLine类,Step 13 :添加 #include “math.h” 和 #defefine Round(x) floor(x)+05) 用于取整。完善成员函数LineTo的功能。教材P92的程序,在View中实现画线功能,在CBresenhamLineView类中实现,获取直线的两个端点坐标。,创建两个成员变量 CP2 m_P0; CP2 m_P1来保存直线的两个端点坐标。,CBresenhamLineView中实现画线功能。,在View中实现画线功能,Step 1: CBresenhamLineView类中添加成员变量CP2 m_P0。选中CB

7、resenhamLineView,单击右键,在View中实现画线功能,Step 2: CBresenhamLineView类中添加成员变量CP2 m_P0。,在View中实现画线功能,Step 3: CBresenhamLineView类中添加成员变量CP2 m_P1。,在View中实现画线功能,Step 4: CBresenhamLineView类中添加成员变量CRect m_rect。,在View中实现画线功能,Step 5: 修改CBresenhamLineView类中的OnDraw 函数,得到画图的区域。,在View中实现画线功能,Step 6:在View中画线需要执行的操作步骤,按下

8、鼠标左键,产生WM_LButtonDown事件,确定直线的起始点。,按下鼠标左键后,拖动鼠标一段距离,就是直线的长度。释放鼠标, 产生WM_LButtonUp事件,确定直线的终点。,在View中实现画线功能,Step 7: 获取CBresenhamLineView类的鼠标左键按下的事件,,在View中实现画线功能,Step 9: 在CBresenhamLineView类的属性中的消息项中,点击WM_LButtonDown,在View中实现画线功能,Step 10:完成CBresenhamLineView类WM_LButtonDown的事件处理。,在View中实现画线功能,Step 11: 在CBresenhamLineView类的属性中的消息项中,点击WM_LButtonUp,在View中实现画线功能,Step 12:完成CBresenhamLineView类WM_LButtonUp的事件处理。在BresenhamLineView.h中添加 “#include Line.h”,画线结果,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号