Reputation: 247
I am using tchart with graphics 3d for real time chart plotting. whenever I try to call print preview for the chart, the preview page is just a blank page and the actual chart background becomes black. I tried different tricks and i found this printpreview works in normal canvas. but as soon as i write the line
Chart1.Graphics3D = new Graphics3DDirect2D(Chart1.Chart);
print preview does not work .
If I call export function, e.g. export to pdf functionality then the pdf file has exported chart in it and alternate route can be I can print the pdf. But I want to use print preview and give user a functionality to change margins and other things as per their need.
Link for the demo project is http://www.filedropper.com/sampleprojecttchartprint Link for the Video describing issue is http://tinypic.com/r/2ufg7f5/5 What am I doing wrong here?
Upvotes: 0
Views: 392
Reputation: 166
There is a limitation with the wrapper TeeChart uses, a limitation documented here: http://bugs.teechart.net/show_bug.cgi?id=356
As suggested, the workaround is to use the GDI+ canvas for image exportation, e.g.
private void InitializeChart()
{
tChart1.Graphics3D = new Graphics3DDirect2D(tChart1.Chart);
tChart1.Aspect.View3D = false;
FastLine series = new FastLine(tChart1.Chart);
series.FillSampleValues(1000);
}
TChart tChart2;
private void button1_Click(object sender, EventArgs e)
{
if(tChart2 == null) tChart2 = new TChart();
MemoryStream ms = new MemoryStream();
tChart1.Export.Template.Save(ms);
ms.Position = 0;
tChart2.Import.Template.Load(ms);
tChart2.Export.Image.PNG.Width = tChart1.Width;
tChart2.Export.Image.PNG.Height = tChart1.Height;
tChart2.Export.Image.PNG.Save(@"C:\tmp\direct2d.png");
}
Upvotes: 1