1

会社に関連するさまざまなマシンに関する情報を含む棒グラフがあります。

基本的にはこのチャートをpngファイルに出力したいのですが、うまく出力できないようです。

私は良いチュートリアルを見つけようとして何時間もGoogleを検索してきましたが、それらのほとんどは奇妙なサードパーティのコンポーネントを使用して画像をダウンロードしており、私は本当にそれをしたくありません.

これは現時点での私のコードです:

string tmpChartName = "/MachinesByCompanyChart.png";

  protected void GenerateBarChartBut_click(object sender, EventArgs e)
        {
            Chart1.Visible = false;
            Chart2.Visible = true;

            DataTable table = new DataTable();

            dal.getTotalAssetsByCompany("table", TAB1CompanyDDL.SelectedItem.Text);

            table = dal.Results.Tables["table"];

            DataView dv = table.DefaultView;

            Chart2.Series["Series1"].Points.DataBindXY(dv, "AssetType", dv, "Total");

            Chart2.Palette = ChartColorPalette.None;

            Chart2.PaletteCustomColors = myGreenColorPalette;


            string imgPath2 = Server.MapPath(tmpChartName);
            Chart2.SaveImage(imgPath2, ChartImageFormat.Png);
        }

        protected void ExportAssetsByCompanyBut_click(object sender, EventArgs e)
        {

            Response.Clear();
            Response.ContentType = Chart1.ImageType.ToString();
            Response.AddHeader("Content-Disposition", "attachment; filename=" + tmpChartName);
            StringWriter stringWrite = new StringWriter();
            HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
            string headerTable = @"";
            Response.Write(headerTable);
            Response.Write(stringWrite.ToString());
            Response.End(); 
        }

保存した画像を正しく writer メソッドに渡していますか?

4

1 に答える 1