种子填充算法(计算机图形学)

来源:互联网 发布:微淘和淘宝达人的区别 编辑:程序博客网 时间:2024/04/29 02:39
#include <graphics.h>#include <iostream>using namespace std;<span style="white-space:pre"></span>//种子填充算法四联通算法<span style="white-space:pre"></span>int BoundaryFill(int x, int y)<span style="white-space:pre"></span>{<span style="white-space:pre"></span> int c=0;<span style="white-space:pre"></span> c=getpixel(x,y);<span style="white-space:pre"></span> if(c!=WHITE)<span style="white-space:pre"></span> {<span style="white-space:pre"></span>  putpixel(x,y,WHITE);<span style="white-space:pre"></span> }<span style="white-space:pre"></span> if(c==WHITE) <span style="white-space:pre"></span>  return 0;<span style="white-space:pre"></span> //为现实效果而延迟时间的空循环<span style="white-space:pre"></span> for(int i=0;i<1000000;i++);<span style="white-space:pre"></span> BoundaryFill(x+1,y);<span style="white-space:pre"></span> BoundaryFill(x-1,y);<span style="white-space:pre"></span> BoundaryFill(x,y+1);<span style="white-space:pre"></span> BoundaryFill(x,y-1);<span style="white-space:pre"></span>}<span style="white-space:pre"></span>int main()<span style="white-space:pre"></span>{<span style="white-space:pre"></span> int gdriver=DETECT, gmode;<span style="white-space:pre"></span> initgraph(&gdriver,&gmode,"");//根据测试结果初始化图形界面<span style="white-space:pre"></span> int points2[]={325,25,400,50,400,125,350,125,325,40,325,25};<span style="white-space:pre"></span> drawpoly(6,points2);<span style="white-space:pre"></span> BoundaryFill(350,55);//种子填充算法<span style="white-space:pre"></span> getchar();<span style="white-space:pre"></span> closegraph(); <span style="white-space:pre"></span> return 0;<span style="white-space:pre"></span>}

0 0
原创粉丝点击