关于图形填充长方形图象的问题?
#include<graphics.h>
main()
{int i,driver=DETECT,mode;
char fill[13][8]={{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},{0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00},
{0x01,0x00,0x10,0x10,0x11,0x10,0x01,0x10},{0x10,0x11,0x10,0x00,0x00,0x00,0x00,0x10},
{0x10,0x11,0x01,0x01,0x00,0x01,0x10,0x10},{0x10,0x10,0x01,0x11,0x01,0x01,0x01,0x00},
{0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x00},{0x01,0x10,0x01,0x10,0x01,0x10,0x01,0x10},{0x00,0x10,0x01,0x10,0x01,0x10,0x01,0x00},
{0x11,0x01,0x10,0x01,0x00,0x11,0x00,0x10},{0x10,0x01,0x10,0x01,0x10,0x01,0x01,0x11},{0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00},
{0x00,0x11,0x01,0x10,0x00,0x00,0x11,0x01}};
initgraph(&driver,&mode,"c:\\BGI");
for(i=0;i<=6;i++)
{
rectangle(15+i*90,40,85+i*90,210);
setfillpattern(fill[i],i);
floodfill(50+i*90,100,15);}
for(i=0;i<6;i++)
{rectangle(15+i*90,270,85+i*90,440);
setfillpattern(fill[i+7],7+i);
floodfill(50+i*90,300,15);
}
rectangle(555,270,625,440);
getch();
closegraph();
}
这个可以得到图,
但是背景色弄成白,前景色弄成黑就不行了?为什么? 如下:
#include<graphics.h>
main()
{int i,driver=DETECT,mode;
char fill[13][8]={{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00},
{0x01,0x00,0x10,0x10,0x11,0x10,0x01,0x10},{0x10,0x11,0x10,0x00,0x00,0x00,0x00,0x10},
{0x10,0x11,0x01,0x01,0x00,0x01,0x10,0x10},{0x10,0x10,0x01,0x11,0x01,0x01,0x01,0x00},
{0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x00},{0x01,0x10,0x01,0x10,0x01,0x10,0x01,0x10},
{0x00,0x10,0x01,0x10,0x01,0x10,0x01,0x00},
{0x11,0x01,0x10,0x01,0x00,0x11,0x00,0x10},{0x10,0x01,0x10,0x01,0x10,0x01,0x01,0x11},
{0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00},
{0x00,0x11,0x01,0x10,0x00,0x00,0x11,0x01}};
initgraph(&driver,&mode,"c:\\BGI");
setcolor(0);
setbkcolor(15);
cleardevice();
for(i=0;i<=6;i++)
{
rectangle(15+i*90,40,85+i*90,210);
setfillpattern(fill[i],i);
floodfill(50+i*90,100,0);}
for(i=0;i<6;i++)
{rectangle(15+i*90,270,85+i*90,440);
setfillpattern(fill[i+7],7+i);
floodfill(50+i*90,300,0);
}
rectangle(555,270,625,440);
getch();
closegraph();
}
why