I'm not an expert on this stuff, but ...
Image1.Canvas.Pen.Color := clWhite;
Image1.Canvas.Brush.Color := clWhite;
Image1.Canvas.Rectangle(0,0,Image1.Width, Image1.Height);
and
Image1.Canvas.Pen.Color := clBlack;
Image1.Canvas.Brush.Color := clWhite;
Image1.Canvas.FillRect(0,0,Image1.Width, Image1.Height);
appear to be equivalent
if you try the following ...
Image1.Canvas.Brush.Color := clWhite;
Image1.Canvas.Pen.Color := clRed;
Image1.Canvas.Ellipse(6,6,39,64);
Image1.Canvas.Pen.Color := clBlack;
Image1.Canvas.Brush.Color := clRed;
Image1.Canvas.Ellipse(106,106,139,164);
Image1.Canvas.Rectangle(206,206,239,264);
I think you'll see that Ellipse and Rectangle work the same way, i.e. the shape is the Pen color and they're filled with the Brush color.
If you're trying to draw an ellipse over multiple other objects, without disturbing their contents, I guess you could use Arc like...
Image1.Canvas.Arc(106,6,139,64,139,6,139,6);
or even simpler ...
Image1.Canvas.Arc(106,6,139,64,0,0,0,0);
And for a similar line rectangle ...
Image1.Canvas.MoveTo(206,6);
Image1.Canvas.LineTo(206,64);
Image1.Canvas.LineTo(239,64);
Image1.Canvas.LineTo(239,6);
Image1.Canvas.LineTo(206,6);
or
Image1.Canvas.Polyline([point(206,6),point(206,64),point(239,64),Point(239,6),point(206,6)]);
HTH,
Doug