x=ptCurrent.x; //先讓起始點等於我們按的x,y
y=ptCurrent.y;
讓起始點的FLAG[][]=2;
do{
for(i=-1~1)
for(j=-1~1)
{
PushStack(ptCurrent.x +i, ptCurrent.y +j);
}
PopStack(); //pop的觀念不清
此時改變x,y的值->這樣下個循環才能改變push進入的東西
check 被pop出的點,和起始點compare difference,
/*
if(check(i,j)== 1)
flag[][]=2;
if(check(i,j)== 0)
flag[][]=3;
*/
亦或check(x,y)這個函式,可以return 0,1,2,3;
這四個之後讓FLAG[][]=check(x,y);
}while( iStackTop != -1);
for(i=0~ImageHeight)
for(j=0~ImageWidth)
{
if(FLAG[i][j]==2)
Image2->Canvas->Pixels[j][i] = TColor(RGB(0, 0, 0));
//最後做FLAG的check,如果FLAG等於2則標示出來
//到最後就能標示出所有和起始點色相相似的點
}
沒有留言:
張貼留言