Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как создать временный Canvas?

01.01.2007

Создайте Bitmap, и воспользуйтесь свойством холста TBitmap-а, чтобы рисовать на нём. Следующий пример создаёт Bitmap, рисует на его canvas-е, рисует canvas на форме, а затем освобождает bitmap.

procedure TForm1.Button1Click(Sender: TObject); 
var 
  bm : TBitmap; 
begin 
  bm := TBitmap.Create; 
  bm.Width := 100; 
  bm.Height := 100; 
  bm.Canvas.Brush.Color := clRed; 
  bm.Canvas.FillRect(Rect(0, 0, 100, 100)); 
  bm.Canvas.MoveTo(0, 0); 
  bm.Canvas.LineTo(100, 100); 
  Form1.Canvas.StretchDraw(Form1.ClientRect, Bm); 
  bm.Free; 
end;

Взято из https://forum.sources.ru