void __fastcall TForm1::Hilditch1Click(TObject *Sender)
{
H=Image2->Picture->Bitmap->Height;
W=Image2->Picture->Bitmap->Width;
for(int x=0;x<W;x++)
for(int y=0;y<H;y++)
{
int BP1=0;
int AP1=0;
int AP4=0;
int AP2=0;
if(Image2->Canvas->Pixels[x][y]==clBlack) {BP1=BP1+1;}
if(Image2->Canvas->Pixels[x-1][y]==clWhite && Image2->Canvas->Pixels[x-1][y+1]==clBlack)AP1=AP1+1;
if(Image2->Canvas->Pixels[x-1][y+1]==clWhite && Image2->Canvas->Pixels[x][y+1]==clBlack)AP1=AP1+1;
if(Image2->Canvas->Pixels[x][y+1]==clWhite && Image2->Canvas->Pixels[x+1][y+1]==clBlack)AP1=AP1+1;
if(Image2->Canvas->Pixels[x+1][y+1]==clWhite && Image2->Canvas->Pixels[x+1][y]==clBlack)AP1=AP1+1;
if(Image2->Canvas->Pixels[x+1][y]==clWhite && Image2->Canvas->Pixels[x+1][y-1]==clBlack)AP1=AP1+1;
if(Image2->Canvas->Pixels[x+1][y-1]==clWhite && Image2->Canvas->Pixels[x][y-1]==clBlack)AP1=AP1+1;
if(Image2->Canvas->Pixels[x][y-1]==clWhite && Image2->Canvas->Pixels[x-1][y-1]==clBlack)AP1=AP1+1;
if(Image2->Canvas->Pixels[x-1][y-1]==clWhite && Image2->Canvas->Pixels[x-1][y]==clBlack)AP1=AP1+1;
if(Image2->Canvas->Pixels[x-2][y]==clWhite && Image2->Canvas->Pixels[x-2][y+1]==clBlack){AP2=AP2+1;}
if(Image2->Canvas->Pixels[x-2][y+1]==clWhite && Image2->Canvas->Pixels[x-1][y+1]==clBlack){AP2=AP2+1;}
if(Image2->Canvas->Pixels[x-1][y+1]==clWhite && Image2->Canvas->Pixels[x][y+1]==clBlack){AP2=AP2+1;}
if(Image2->Canvas->Pixels[x][y+1]==clWhite && Image2->Canvas->Pixels[x][y]==clBlack){AP2=AP2+1;}
if(Image2->Canvas->Pixels[x][y]==clWhite && Image2->Canvas->Pixels[x][y-1]==clBlack){AP2=AP2+1;}
if(Image2->Canvas->Pixels[x][y-1]==clWhite && Image2->Canvas->Pixels[x-1][y-1]==clBlack){AP2=AP2+1;}
if(Image2->Canvas->Pixels[x-1][y-1]==clWhite && Image2->Canvas->Pixels[x-2][y-1]==clBlack){AP2=AP2+1;}
if(Image2->Canvas->Pixels[x-2][y-1]==clWhite && Image2->Canvas->Pixels[x-2][y]==clBlack){AP2=AP2+1;}
if(Image2->Canvas->Pixels[x-1][y+1]==clWhite && Image2->Canvas->Pixels[x-1][y+2]==clBlack){AP4=AP4+1;}
if(Image2->Canvas->Pixels[x-1][y+2]==clWhite && Image2->Canvas->Pixels[x][y+2]==clBlack){AP4=AP4+1;}
if(Image2->Canvas->Pixels[x][y+2]==clWhite && Image2->Canvas->Pixels[x+1][y+2]==clBlack){AP4=AP4+1;}
if(Image2->Canvas->Pixels[x+1][y+2]==clWhite && Image2->Canvas->Pixels[x+1][y+1]==clBlack){AP4=AP4+1;}
if(Image2->Canvas->Pixels[x+1][y+1]==clWhite && Image2->Canvas->Pixels[x+1][y]==clBlack){AP4=AP4+1;}
if(Image2->Canvas->Pixels[x+1][y]==clWhite && Image2->Canvas->Pixels[x][y]==clBlack){AP4=AP4+1;}
if(Image2->Canvas->Pixels[x][y]==clWhite && Image2->Canvas->Pixels[x-1][y]==clBlack){AP4=AP4+1;}
if(Image2->Canvas->Pixels[x-1][y]==clWhite && Image2->Canvas->Pixels[x-1][y+1]==clBlack){AP4=AP4+1;}
if(BP1>=2 && BP1<=6 && AP1==1){
if((Image2->Canvas->Pixels[x-1][y]==clWhite && Image2->Canvas->Pixels[x][y+1]==clWhite && Image2->Canvas->Pixels[x][y-1]==clWhite)||(AP2==1)){
if((Image2->Canvas->Pixels[x-1][y]==clWhite && Image2->Canvas->Pixels[x][y+1]==clWhite && Image2->Canvas->Pixels[x+1][y]==clWhite)||(AP4==1)){Image2->Canvas->Pixels[x][y]=clWhite;}
}
}
}
Image2->Refresh();
}
Partager