2013-12-13 63 views
0

我正在使用tchart與圖形3d實時圖表繪圖。每當我嘗試爲圖表調用打印預覽時,預覽頁面只是一個空白頁面,實際的圖表背景變成黑色。我嘗試了不同的技巧,我發現這個printpreview在普通畫布中工作。但只要我寫行打印預覽問題在Steema Teechart與graphics3d

Chart1.Graphics3D = new Graphics3DDirect2D(Chart1.Chart);     

打印預覽不起作用。

如果我呼叫導出功能,例如出口到PDF功能,然後PDF文件已導出它的圖表和替代路線可以我可以打印PDF。 但我想使用打印預覽,並給用戶一個功能,以根據需要更改邊距和其他東西。

鏈接,示範項目是http://www.filedropper.com/sampleprojecttchartprint 鏈接描述問題的視頻是http://tinypic.com/r/2ufg7f5/5 我在做什麼錯在這裏?

回答

1

沒有與於TeeChart使用外框,這裏記載的限制的限制: http://bugs.teechart.net/show_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"); 
} 
+0

沒有必要使用chart2,我jsut實現導出到PDF格式的圖形graphics3d,從PDF,用戶可以打印圖表。非常感謝 ! –