PieChart.SaveImage(path,imageFormate)第二次在保存图像时显示异常

时间:2016-08-15 11:04:40

标签: c# winforms office-interop mschart

我在Windows窗体应用程序中使用 .NET 4.0 框架的图表控件我通过PieChart.SaveImage(Path,ChartImageFormat.Png)将饼图图像保存在位置上,当我使用{{1}创建doc文件时我将该图像粘贴到该文档中。它第一次很好地进行并且.doc成功创建,但我尝试在win表单中第二次保存饼图运行它给出一个System.IO.Exception

  

“进程无法访问文件'path',因为它正被使用   另一个过程。“

当我终止程序并再次运行它时,它会通过wright上一张图像,但是当我想在程序运行期间第二次保存图像时它会给出相同的异常

这就是我保存图片的方式

Microsoft.Office.Interop.Word

我搜索过,但没有找到解决我问题的有效解决方案, 如果有什么不对,请指出我的错误,或任何帮助链接来解决这个问题。 。

编辑1

这是我在Doc文件中粘贴该图像的地方

private Void SavePieChart()
{
    string PieChartPath= Application.StartupPath + @"\Chart.png";
    PieChart.SaveImage(PieChartPath, ChartImageFormat.Png);
}

提前致谢

1 个答案:

答案 0 :(得分:1)

问题是当我在doc文件中粘贴图像时,我就像

那样拍摄图片
System.Drawing.Image PieChart =System.Drawing.Image.FromFile(PieChartPath);

正如Reza和Taw所描述的FromFile()保持文件的使用,这就是为什么当我第二次尝试保存图像时它显示文件已经处于正常状态的异常

我使用FromStram()将此添加到我的代码中

byte[] DataBytes= System.IO.File.ReadAllBytes(PieChartPath);
System.IO.MemoryStream ms = new System.IO.MemoryStream(DataBytes);

System.Drawing.Image PieChart = System.Drawing.Image.FromStream(ms);