This is nice but i need the wings to be behind the body of the bird.
That is why i asked what you expected ;-)
It can be a bit difficult to express what you want when talking graphics.
Ok, indeed in that case your 'problem' is related to the floodfill function and the boundaries it uses. e.g. the area that gets filled is bound by the given 'border' color and that is haunting you.
Could you please show me your code so i undertsand it?
Sure, here is my corrected code with the 'wings' in the back.
Program test3;
uses
graph;
var
draiveris,x,y,r, tips:integer;
begin
Draiveris:=detect;
initgraph(draiveris,tips,' ');
writeln(GetMaxX,' ',GetMaxY);
bar(100,80,60,120);
setColor(red);
setfillstyle(1,red);
FillEllipse(105,190,20,40);
setColor(blue);
setfillstyle(1,blue);
FillEllipse(295,190,20,40);
setColor(white);
circle(140,100,50);
setfillstyle(1,white);
floodfill(140,100,white);
circle(260,100,50);
floodfill(260,100,white);
circle(200,200,100);
setfillstyle(1,14);
floodfill(200,200,white);
pieslice(180,160,270,360,40);
setfillstyle(1,green);
floodfill(180,160,white);
setfillstyle(1,black);
setcolor(black);
circle(150,110,20);
floodfill(150,110,black);
circle(250,110,20);
floodfill(250,110,black);
readln;
closegraph;
end.
fwiw: CAN's example also works but still shows the white drawn lines that were used as boundaries for the flood. You can get his code to compile by adding {$MODE OBJFPC} at the top of your code just beneath the program declaration.
PS: if you draw an ellipse using the 'correct' radius' then you can draw a circle with it ;-)