二维区域扫描线填充算法

二维区域扫描线填充算法

ID:38650530

大小:68.00 KB

页数:9页

时间:2019-06-17

二维区域扫描线填充算法_第1页
二维区域扫描线填充算法_第2页
二维区域扫描线填充算法_第3页
二维区域扫描线填充算法_第4页
二维区域扫描线填充算法_第5页
资源描述:

《二维区域扫描线填充算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、二维区域扫描线填充算法的实现这个程序从一放暑假就开始做,直做到今天,花了1个星期的时间,真是不应该啊,唉,谁让咱编程技术不太好呢,得,闲话少说。关于区域填充,我们常用的算法有扫描线填充算法以及种子填充算法,我现在只完成了前一种,后一种等过两天实现之,扫描算法的理解不难,可是实现起来有许多细节问题还是有点烦琐,下面这个是非常粗糙的一个版本,只能说是实现了所需,代码一点也不好,到处充斥着各种命名模糊的变量,又不很多注释,谁要是想看,那肯定费很大劲,不过整体结构是正确的。我本来想把整个算法详细地一步一步列出来,可是要讲解算法的话,还要画很多图,还要贴上来,就此做罢

2、,如果谁也在做这个程序,就在下面留下评论即可,我一定在最短时间内给你回复。下面是我的代码,直接CTRL+V到VC6中就可以看到效果了:(通过这个程序我还发现,当代码一上500行,变量就开始混淆了,尤其是用来控制循环的那些小变量,还有就是在这个程序中我初步使用了VC6的调试功能,确实非常方便,但还有些功能不清楚,唉,慢慢来吧)下面是一个简单的填充效果://////////////////////////////////////////////////////////////////////////////////////////////////////////

3、/////////////////////////////////////////////////////////////////////////////////////////////////////#include#include#defineFILLING1#defineRESET2typedefstruct{intxStart,yStart;intxEnd,yEnd;}LINE,*PLINE;LINElines[100];LINEline;staticintj=0;POINTdraw_refresh[1000];

4、staticintl=0;LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEprevInstance,PSTRszCmdLine,intiCmdShow){staticTCHARszAppName[]="2DRegionFilling";HWNDhwnd;MSGmsg;WNDCLASSwndclass;for(inti=0;i<100;i++){lines[i].xStart=0;lines[i].yStart=0;line

5、s[i].xEnd=0;lines[i].yEnd=0;}wndclass.style=CS_HREDRAW

6、CS_VREDRAW

7、CS_DBLCLKS;wndclass.lpfnWndProc=WndProc;wndclass.cbClsExtra=0;wndclass.cbWndExtra=0;wndclass.hInstance=hInstance;wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);wndclass.hCursor=LoadCursor(NULL,IDC_CROSS);wndclass.hbrB

8、ackground=(HBRUSH)GetStockObject(WHITE_BRUSH);wndclass.lpszMenuName=NULL;wndclass.lpszClassName=szAppName;if(!RegisterClass(&wndclass)){MessageBox(NULL,"Registwindowclassfailed!","Error",MB_OK);}hwnd=CreateWindow(szAppName,"2DRegionFilling",WS_OVERLAPPED

9、WS_CAPTION

10、WS_MINIMIZEBOX

11、W

12、S_SYSMENU,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);ShowWindow(hwnd,iCmdShow);UpdateWindow(hwnd);while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}returnmsg.wParam;}LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPAR

13、AMwParam,LPARAMlParam){HWN

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。