如何从asp.net WebService生成折线图?

时间:2010-04-03 08:19:03

标签: c# asp.net web-services charts mschart

我的网络服务需要生成一些折线图,然后将其添加到流式传输到客户端的PDF报告中。

如何在网络服务中生成折线图?

谢谢!

2 个答案:

答案 0 :(得分:1)

如果您不想使用第三方控件,则可以使用System.Drawing命名空间。

  1. 创建正确大小的位图。最好使用32bppargb,因为这是GDI +内部使用的。
  2. 使用Graphics.FromBitmap
  3. 从位图中获取图形对象
  4. 使用graphics.DrawLine等绘制图形对象(所有方法都记录在图形对象上)
  5. 创建一个MemoryStream并将位图保存到MemoryStream中,然后可以在PDF编写软件中使用,或者只是将位图保存到磁盘(您需要授予ASP.NET权限才能执行此操作)。
  6. 不要忘记在完成后立即处理图形对象(使用块最好)

    因为您在Web服务中使用GDI +,所以您可能需要考虑使用Singleton模式来序列化请求以进行绘制。

答案 1 :(得分: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