I found a solution. I used
atDiagram.Background.Visible := false;
atDiagram.CopyBitmapToClipboard(esNetto); // esNetto gets the Whole diagram
atDiagram.Background.Visible := true;
BMP.Assign(clipboard);
with Printer do
begin
BeginDoc;
MyRect.Left := Margin;
MyRect.Top := Margin;
scale := (Printer.PageWidth - (Margin*2)) / BMP.Width;
scale := min(scale,(Printer.PageHeight - (Margin*2)) / BMP.Height);
MyRect.Right := trunc(BMP.Width * scale);
MyRect.Bottom := trunc(BMP.Height * scale);
Printer.Canvas.StretchDraw(MyRect, BMP);
EndDoc;
end;
I tried using
atDiagram.PrintToCanvas(printer.Canvas,1,Margin, Margin,round(Printer.PageWidth - (Margin*2)),round(Printer.PageHeight - (Margin*2)),true);
But that does not print the whole diagram