在MVC Web应用程序中,我需要能够使用C#中的数据创建图表,并将其转换为PNG的bas64表示,以传递给某些XSLT并包含在PDF中。
我尝试过使用: System.Web.Helpers.Chart - 这是有效的,但是有限,而且质量不高。我不能让它看起来像我喜欢的那样。
OxyPlot - 看起来更有希望,但我无法在Web应用程序中转换为PNG,只能在WPF或Win Forms中导出。
HighCharts - 无法使用像PhantomJS那样的东西渲染到PNG。
我可以使用图表库来实现这个目标吗?
答案 0 :(得分:1)
我已经使用了这个System.Web.UI.DataVisualization.Charting
Link
您可以将此System.Web.UI.DataVisualization
添加为项目中的参考。要将图表转换为base64图像,您可以使用它。
private string GetChartBase64Image(Chart chart)
{
using (MemoryStream memStream = new MemoryStream())
{
chart.SaveImage(memStream, ChartImageFormat.Png);
byte[] imageArray = memStream.ToArray();
return Convert.ToBase64String(imageArray);
}
}
在示例上方,类图表和ChartImageFormat在名称空间System.Web.UI.DataVisualization.Charting