种子填充算法的应用
我想写一个用种子填充算法实现填充的功能,但不知调用时,不能实现功能,为什么?我应该怎样写调用函数或其他?
附代码如下:
case IDM_FILL:
boundaryfill4(pDC->m_hDC,point.x,point.y,RGB(0,255,255),RGB(0,255,255)); //鼠标响应消息
//下面是算法的函数
void boundaryfill4(HDC hdc,int x, int y, COLORREF fill, COLORREF boundary)
{
COLORREF current; //COLORREF
current=GetPixel(hdc,x,y);
if((current!=boundary)&¤t!=fill)
{
::SetPixel(hdc,x,y,fill);
boundaryfill4(hdc,x+1,y,fill,boundary);
boundaryfill4(hdc,x-1,y,fill,boundary);
boundaryfill4(hdc,x,y+1,fill,boundary);
boundaryfill4(hdc,x,y-1,fill,boundary);
}
}