C# MicrosoftCharts-Chart.SaveImage()到MemoryStream有时会抛出内存
我使用以下扩展方法将图表图像捕获为png:C# MicrosoftCharts-Chart.SaveImage()到MemoryStream有时会抛出内存,c#,winforms,C#,Winforms,我使用以下扩展方法将图表图像捕获为png: public static Stream GetChartImageStream(this Chart chart, int imgWidth, double imgFactor) { var imgStream = new MemoryStream(); var previousSize = chart.Size; chart.Size = new Size(new Point(img
public static Stream GetChartImageStream(this Chart chart, int imgWidth, double imgFactor)
{
var imgStream = new MemoryStream();
var previousSize = chart.Size;
chart.Size = new Size(new Point(imgWidth, Convert.ToInt32(imgWidth / imgFactor)));
chart.SaveImage(imgStream, ChartImageFormat.Png);
// set the old size back
chart.Size = previousSize;
return imgStream;
}
它的命名方式:
Chart chart;
var chartStream = chart.GetChartImageStream(1010, 1.50d);
chartStream.Dispose();
问题是它有时会在一行中抛出一个OutOfMemoryException
chart.SaveImage(imgStream, ChartImageFormat.Png)
是的,那时我有很多空闲的记忆
我看不出我在这里做错了什么?有什么想法吗?一点也不确定,但调整复杂图表的大小确实需要一些时间;也许增加一个安全延迟会有帮助吗?是的,也许你是对的,我会尝试一下,一点也不确定,但是调整一个复杂图表的大小确实需要一些时间;也许增加一个安全延迟可以帮助…?是的,也许你是对的,我会试试