3。若堆栈为空则算法结束,否则从堆栈 顶部取出一个象素段。就以这个象素为 新的种子,返回到1。 下面我们用伪C语言写出扫描线填充 算法。 void ScanlineSeedfill(int x,int y,COLORREF boundaryvalue,COLORREF newvalue) int x0,xl,xr,y0,xid; int flag; Stack s;
3.若堆栈为空则算法结束,否则从堆栈 顶部取出一个象素段。就以这个象素为 新的种子,返回到1。 下面我们用伪C语言写出扫描线填充 算法。 void ScanlineSeedfill(int x,int y,COLORREF boundaryvalue,COLORREF newvalue) { int x0,xl,xr,y0,xid; int flag; Stack s;
Point p; s.push(Point(xy);//种子象素入栈 while(!s.isempty() p=spop0;//栈顶象素出栈 X-p.X; y-p.y; SetPixel(x,y ,newvalue); x0=X+1; while(GetPixel(x0,y)!=boundaryvalue)// 填充右方象素
Point p; s.push(Point(x,y));//种子象素入栈 while(!s.isempty()) { p=s.pop(); //栈顶象素出栈 x=p.x; y=p.y; SetPixel(x ,y ,newvalue); x0= x+1; while(GetPixel(x0,y)!=boundaryvalue)// 填充右方象素