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

Posted

技术标签:

【中文标题】WinForm图表控件:将图表保存到文件时更改图表大小【英文标题】:WinForm chart control: Change size of chart when saving it to a file 【发布时间】:2010-02-24 20:45:20 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

您可以通过重新定义图表的 Size 属性来定义它:

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

【讨论】:

此答案因其长度和内容而被标记为低质量。也许添加更多内容以向 OP 和其他人显示上下文?【参考方案3】:

您可能必须将其保存到内存流中,然后使用 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);
   

【讨论】:

仍然没有效果。图片与原始图表具有相同的宽度/高度。

以上是关于WinForm图表控件:将图表保存到文件时更改图表大小的主要内容,如果未能解决你的问题,请参考以下文章

winform Chart图表控件 图例显示问题

怎么用图表控件FineReport做图表

在winform中用chart控件画的图表,怎么打印啊,求事例代码

labview如何调用漂亮的可视化图表

Holoviews图表共享并输出时共享轴

C#(095):微软Charting图表控件 System.Web.UI.DataVisuliztion.Charting