我想从图表图形中保存图像。 我正在使用以下行。
chart.SaveImage("D:\\mypic.png", System.Web.UI.DataVisualization.Charting.ChartImageFormat.Png);
但我有一个问题:
这是我的代码。
protected void btnBar_Click(object sender, EventArgs e)
{
string degerler = txtDeger.Text;
ArrayList array = new ArrayList();
if (Convert.ToInt32(TextBox2.Text) > Convert.ToInt32(TextBox1.Text))
{
Label3.Text = "TopNCount sayısı büyük olamaz...";
}
else
{
Label3.Text = "";
for (int i = 1; i < Convert.ToInt32(TextBox1.Text) + 1; i++)
{
array.Add(Convert.ToInt32(degerler.Split(',')[i - 1]));
}
chart.ChartType = myChart.ChartTypes.Bar;
chart.TopNCount = Convert.ToInt32(TextBox2.Text);
chart.DataSource = array;
chart.DataBind();
chart.SaveImage("D:\\mypic.png", System.Web.UI.DataVisualization.Charting.ChartImageFormat.Png);
this.Controls.Add(chart);
}
}
答案 0 :(得分:1)
我的猜测是你无法将图表保存为图像,因为没有渲染任何内容。
尝试挂钩Init
/ Load
/ DataBound
事件并尝试将其保存。
修改强>
尝试以下方法:
chart.DataBound += (sender, args) => ((Chart)sender).SaveImage("D:\\mypic.png", System.Web.UI.DataVisualization.Charting.ChartImageFormat.Png);
或
chart.Load += (sender, args) => ((Chart)sender).SaveImage("D:\\mypic.png", System.Web.UI.DataVisualization.Charting.ChartImageFormat.Png);
答案 1 :(得分:1)
其他人遇到了这个问题:
http://social.msdn.microsoft.com/Forums/en/MSWinWebChart/thread/6ca0a897-4ffe-4c67-851e-6002ee4af19d
图表控件似乎无法找到用于图表的背景。
如果这是问题,也许您可以在Microsoft Connect网站上报告错误的异常消息。