2011-11-29 51 views
1

我想从图表图像保存图像。 我正在使用以下行。使用.net图保存图像

chart.SaveImage("D:\\mypic.png", System.Web.UI.DataVisualization.Charting.ChartImageFormat.Png); 

,但我有一个问题:

enter image description here

这里是我的代码。

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

你在使用System.Windows.Forms.DataVisualization.Charting.Chart吗? –

回答

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); 
+0

嗨对不起,我不明白你在说什么。你能给我更多的信息吗?图表是在aspx文件中显示但不保存。 – TheMuyu