Вот фрагмент кода, который я написал для школьного проекта некоторое время назад. Я думаю, что тогда я провел немало исследований и не смог найти другого пути ... Я думаю, что код достаточно ясен, чтобы увидеть, как я это сделал: использовать буфер обмена. cMohr является компонентом TChart.
У меня сейчас не установлен Delphi, поэтому я не могу его протестировать, но он должен работать!
with Sender as TBaseReport do
begin
SetFont('Arial', 15);
Title := 'JTester results';
PrintHeader('JTester results', pjCenter);
// Mohr Circle
bmp := TBitmap.Create;
cMohr.Color := clWhite;
cMohr.CopyToClipboardBitmap;
cMohr.Color := clBtnFace;
bmp.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);
PrintBitmapRect(0.2,0.5,PageWidth-0.4,(PageWidth-0.4)*bmp.Height/bmp.Width,bmp);
..
..