C# MicrosoftCharts-Chart.SaveImage()到MemoryStream有时会抛出内存

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

我使用以下扩展方法将图表图像捕获为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(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) 
是的,那时我有很多空闲的记忆


我看不出我在这里做错了什么?有什么想法吗?

一点也不确定,但调整复杂图表的大小确实需要一些时间;也许增加一个安全延迟会有帮助吗?是的,也许你是对的,我会尝试一下,一点也不确定,但是调整一个复杂图表的大小确实需要一些时间;也许增加一个安全延迟可以帮助…?是的,也许你是对的,我会试试