Hi
TImage holds a TPicture and handles its own drawing events to render that picture.
Timage.canvas is the visual side of the timage.picture.canvas.
You will get odd results drawing on the timage.canvas when no picture is loaded.
It is always best to draw your additions to any component visual canvas using the onpaint event (if present), that way when ever the canvas is redrawn, via resize,invalidate,refresh,paint. your additions will be redone.
when your drawing or outputting text, make sure you have all the brush/pen/font sent, as the canvas remembers.
so store your old brush and pen setting, do what you want and restore them back.
Using ..Brush.Style:=bsClear, will output text without a background
var OldBrush:TBrush;
OldPen:TPen;
OldFont:TFont;
begin
OldBrush:=paintbox1.Canvas.Brush;
OldPen:=paintbox1.Canvas.Pen;
OldFont:=paintbox1.Canvas.Font;
........
.......
paintbox1.Canvas.Brush:=OldBrush;
paintbox1.Canvas.Pen:=OldPen;
paintbox1.Canvas.Font:=OldFont;
end;