2016-08-15 1 views
1

의 차트 컨트롤을 사용하고 있습니다. Windows Forms 응용 프로그램의 .NET 4.0 프레임 워크입니다. 나는 문서를 만들 때 위치에 파이 차트 이미지를 PieChart.SaveImage(Path,ChartImageFormat.Png) 통해 저장했습니다. Microsoft.Office.Interop.Word 파일로 그 이미지에 해당 이미지를 붙여 넣습니다. 아주 잘 처음으로 진행하고 .DOC가 성공적으로 만들어,하지만 난 그것이 System.IO.ExceptionPieChart.SaveImage (path, imageFormate)는 이미지 저장시 예외를 표시합니다.

줄 실행 승리 양식 동안 파이 차트 2 시간을 저장하려고 "파일 '경로'때문에 액세스 할 수 없습니다 과정 그것은 다른 프로세스에 의해 에 의해 사용되고있다. "

내가 프로그램을 종료하고 라이트 이전 이미지 위에 다시 실행하지만 난 실행 프로그램 중 이미지 2 시간을 절약하고자 할 때이 같은 예외

을 내가 이미지를

private Void SavePieChart() 
{ 
    string PieChartPath= Application.StartupPath + @"\Chart.png"; 
    PieChart.SaveImage(PieChartPath, ChartImageFormat.Png); 
} 
을 절약하고 방법이되어 줄 때

검색했지만 내 문제를 해결하는 효율적인 솔루션을 찾지 못했습니다. 잘못된 일을하는 경우 내 실수를 지적하거나 문제를 해결할 수있는 도움을줍니다. .

EDIT 1

내가

System.Drawing.Image PieChart =System.Drawing.Image.FromFile(PieChartPath); 
oHeader1 = oDoc.Content.Paragraphs.Add(ref oMissing); 
Logothread = new Thread(() => Clipboard.SetImage(PieChart)); 
Logothread.SetApartmentState(ApartmentState.STA); //Set the thread to STA 
Logothread.Start(); 
Logothread.Join(); 
oHeader1.Range.Paste(); 
oHeader1.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter; 
oHeader1.Range.InsertParagraphAfter(); 

감사합니다 사전에 문서 파일에 해당 이미지를 붙여 넣기하고있는 곳은

+1

두 번 저장해도 문제없이 작동합니다. C#에서도 열어 보시겠습니까? 그 단어가 이미지에 여전히 집착하고 있다고 의심하지 않는다면? 2 번째 단어를 저장하기 전에 단어를 닫을 때 작동합니까? 단어에 붙여 넣지 않고 작동합니까? – TaW

+0

저장된 모든 png 파일에 고유 한 이름을 지정하십시오. – LoekD

+0

@TaW : 먼저 이미지를 저장 한 다음 Doc 파일에 붙여 넣습니다. 문서를 닫은 다음 응용 프로그램을 종료하면 제대로 작동합니다. 그것은 문서 파일을 만들려고 할 때 어떤 시간이 지나면 예외가 표시됩니다. –

답변

1

문제는 내가 문서 파일에 붙여 넣기 이미지를 받았 느니라 때 소요 된입니다 image like

System.Drawing.Image PieChart =System.Drawing.Image.FromFile(PieChartPath); 

레자와 TAW는 FROMFILE이() 나는 이미지 2 시간을 저장하려고 할 때 파일이 과정에서 이미 예외를 보여줍니다 이유는 그래서 사용중인 파일,

의 I는 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); 
관련 문제