{
double zr,zi,zrN,ziN;
double Cr2;
double Ci2;
int imax;
int i,ix,iy,col;
Cr1 = StrToFloat(EditX->Text);
Ci1 = StrToFloat(EditY->Text);
wid = StrToFloat(EditW->Text);
Cr2 = Cr1 + wid;
Ci2 = Ci1 + wid;
imax = StrToFloat(EditM->Text);
pixx = Image1->Width;
pixy = Image1->Height;
dCr=(double)wid/(double)pixx;
dCi=(double)wid/(double)pixy;
Image1->Canvas->Brush->Color = clBlack;
Image1->Canvas->Brush->Style = bsSolid;
Image1->Canvas->FillRect(Image1->Canvas->ClipRect);
for ( Ci=Ci1,iy=pixy ; Ci<=Ci2 ; Ci+=dCi, iy-- ) {
for ( Cr=Cr1, ix=0; Cr<=Cr2; Cr+=dCr, ix++ ) {
zr=0.0; zi=0.0;
for ( i=0; i<imax; i++ ) {
zrN = zr*zr-zi*zi+Cr;
ziN = 2.0*zr*zi+Ci;
if (zrN*zrN+ziN*ziN>4.0) break;
zr=zrN; zi=ziN;
}
if (i==imax) col = 16;
else col = i%16;
Image1->Canvas->Pen->Color = (TColor)col_t[col];
Image1->Canvas->MoveTo(ix,iy);
Image1->Canvas->LineTo(ix+1,iy);
}
Application->ProcessMessages();
}
x1=-1;
}