Graphics—边界填充算法

来源:互联网 发布:windows连接不到打印机 编辑:程序博客网 时间:2024/05/21 06:03
//边界填充算法#include "stdafx.h"#include <graphics.h>#include <math.h>#include <iostream>using namespace std;//4-连通边界填充算法int BoundaryFill(int x,int y){int c=0;c=getpixel(x,y);if(c!=WHITE)putpixel(x,y,WHITE);if(c==WHITE) return 0;for(int i=0;i<100000;i++);   //延时作用BoundaryFill(x+1,y);BoundaryFill(x-1,y);        BoundaryFill(x,y+1);BoundaryFill(x,y-1);}int main(){int gdriver=DETECT, gmode;initgraph(&gdriver,&gmode,"");//初始化图形界面int points1[]={10,10,70,10,70,50,60,40,40,60,30,20,20,30};   //点的坐标,与效果图相反,逻辑原点坐标为左上角int points2[14];for(int i=0;i<14;i++)points2[i]=points1[i]*2;drawpoly(7,points2);  //画一个给定若干点所定义的多边形BoundaryFill(40*2,20*2);//种子填充算法getchar();closegraph();return 0;}

运行结果: