2010-04-03 94 views

回答

1

如果你不想使用第三方控件,那麼你可以使用System.Drawing命名空間。

  1. 創建一個正確大小的位圖。最好使用32bppargb,因爲這是GDI +在內部使用的。
  2. 獲得圖形使用Graphics.FromBitmap位圖
  3. 上的圖形繪製對象使用graphics.DrawLine等反對(所有的方法都記錄在圖形對象)
  4. 創建一個MemoryStream和位圖保存到MemoryStream然後你可以在你的PDF編寫軟件中使用,或者直接將位圖保存到磁盤(你需要賦予ASP.NET的權限來執行此操作)

不要忘記儘快處置圖形對象已經完成了它(使用塊最好)

因爲您使用的是Web服務中的GDI +,所以您可能需要考慮使用Singleton模式來連續執行繪製的請求。

0

看一看這個網頁這裏

Drawing Line Charts in ASP.Net

然後,而不是從你的Page_Load請求圖表和數據流中恢復它,從你的web服務功能之一返回它

編輯

走開了,想到這個,然後燈泡熄滅 - 這樣做的另一種方式(也從GDI +代碼中刪除你)將使用GoogleCharts api。

例如https://chart.apis.google.com/chart?cht=p3&chd=t:90,10&chs=250x100&chl=Overflow|Stack呈現以下

alt text

折線圖

http://code.google.com/apis/chart/docs/gallery/line_charts.html

另外,如果您還沒有排序生成PDF呢,看看iTextSharp的here

+1

該示例很危險,因爲圖形對象被放置在析構函數。應該儘快處理。 – 2010-04-03 08:45:06

+0

不錯的地方。沒有看到。 – CResults 2010-04-03 11:05:55