#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>}
种子填充算法(计算机图形学)
最新推荐文章于 2021-05-24 03:55:32 发布