ヘルプが必要です..ペイントでバケツを模倣する関数を作成しています..画像の半分が色付けされている場合に問題が発生しますこのエラーは「NTVMが不正な命令に遭遇しました」が発生します
これが私の「バケット」コードです。
void bucket(int x, int y, int fillColor)
{
if(getpixel(x,y)==getpixel(x,y+1)){
putpixel(x,y,fillColor);
bucket(x,y+1,fillColor);
}
if(getpixel(x,y)==getpixel(x+1,y)){
putpixel(x,y,fillColor);
bucket(x+1,y,fillColor);
}
if(getpixel(x,y)==getpixel(x,y-1)){
putpixel(x,y,fillColor);
bucket(x,y-1,fillColor);
}
if(getpixel(x,y)==getpixel(x-1,y)){
putpixel(x,y,fillColor);
bucket(x-1,y,fillColor);
}
}
おそらく、「塗りつぶし」アルゴリズムの問題は、再帰のスタックがすべての呼び出しをサポートしていないことです...図面の少なくとも半分が色付けされています。
PS:Borland c++v3.1で