WinForm图表控件:将图表保存到文件时更改图表的大小

时间:2010-02-24 20:45:20

标签: c# winforms size save charts

有没有办法在源代码中使用方法Chart.SaveImage()时更改图表的大小?

现在我发现设置图表大小的唯一方法是调整图表控件(System.Windows.Forms.DataVisualization.Charting.Chart)所在的表单。我可以明确设置它的宽度和高度吗?尝试更改Chart.SizeChart.WidthChart.Size不起作用。

3 个答案:

答案 0 :(得分:3)

好的。解决方案非常明显,我在3天内找不到它 - 我已经设置Chart.Dock = DockStyle.Fill,因此更改Size属性不会影响。将其修改为DockStyle.None后,我可以更改图表的大小,并且(最后!)将其保存为适当的宽度和高度。

答案 1 :(得分:0)

您可能需要将其保存到内存流中,然后使用Image类更改尺寸,然后将其保存到文件中。

using(MemoryStream ms = new MemoryStream(4096))
{
   myChart.SaveImage(ms,ImageFormat.Png);
   using(Bitmap img = Image.FromStream(ms))
   {
     using(Graphics g = Graphics.FromImage(img))
       g.DrawImage( b, 0, 0, newWidth, newHeight );
     }
     img.Save("where\to\save\chart.png",ImageFormat.Png);
   }
}

答案 2 :(得分:0)

您可以通过重新定义图表的“大小”属性来定义它:

var ch = new Chart();
ch.Size = new Size(600, 250);