我是使用图解与图形3d进行实时图表绘制。每当我试图调用打印预览的图表,预览页只是一个空白页和实际的图表背景变成黑色。我尝试了不同的技巧,我发现这个打印预览作品在正常的画布上。但一旦我写了这行
Chart1.Graphics3D = new Graphics3DDirect2D(Chart1.Chart); 打印预览不起作用。
如果我调用导出功能,例如导出到pdf功能,那么pdf文件已经导出了它的图表和替代路线,我可以打印的pdf。但我想使用打印预览,并给用户一个功能,以改变利润率和其他事情,根据他们的需要。
演示项目的链接是http://www.filedropper.com/sampleprojecttchartprint链接,用于视频描述问题是http://tinypic.com/r/2ufg7f5/5,我在这里做错了什么?
发布于 2013-12-16 15:14:01
包装器TeeChart使用有一个限制,这里记录了一个限制:bug.cgi?id=356。
正如建议的那样,解决方法是使用GDI+画布输出图像。
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");
}https://stackoverflow.com/questions/20560522
复制相似问题