原創|使用教程|編輯:郝浩|2013-09-29 09:50:20.000|閱讀 312 次
概述:前面的一些關于圖像處理控件ImageGear for .NET文章中,創建了基礎的應用程序,并對應用程序添加了PDF功能支持,現在來看看那如何對應用程序添加DICOM功能支持。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在前面的一些關于圖像處理控件ImageGear for .NET文章《圖像處理控件ImageGear for .NET教程: 添加DICOM功能(1)》中講解了如何對應用程序添加DICOM功能支持的部分內容,本文將完成添加DICOM功能支持的所有步驟。
五、要添加支持加載/保存覆蓋,需要做下面的改變:
1、需要對ImageGear ART組件添加引用。
2、接下來,添加相應的using語句
using ImageGear.ART;
3、聲明下面的成員變量:
private ImGearARTPage artPage;
4、修改loadDocumentToolStripMenuItem_Click事件處理程序的代碼,imGearPageView1.Invalidate ()調用之前添加下面的代碼:
if (artPage != null) { artPage.RemoveMarks(); } // DICOM overlays artPage = ImGearDICOM.LoadOverlay(imGearPage); if (artPage == null) { artPage = new ImGearARTPage(); } imGearPageView1.Display.ARTPage = artPage;
這樣的話就會在導入DICOM頁面后啟用顯示覆蓋。
5、要啟用保存覆蓋,在保存頁面到文件之前需要添加下面的語句:
ImGearDICOM.SaveOverlay((imGearPageView1.Display.ARTPage as ImGearARTPage), imGearPageView1.Display.Page as ImGearRasterPage);
六、要添加保存/加載狀態,需要做下面的改變:
1、重復上面五中的步驟,除了:
artPage = ImGearDICOM.LoadOverlay(imGearPage);
2、聲明以下成員變量:
private ImGearMetadataHead presStateOrigMetadata;
3、在文件菜單中創建“Load Presentation State”和“Save Presentation State”菜單項目,然后雙擊它們來創建項目菜單處理程序。
4、為“Load Presentation State”菜單項目添加下面的代碼:
if (!(imGearPage is ImGearRasterPage)) { return; } OpenFileDialog od = new OpenFileDialog(); od.Filter = "Presentation State (*.pre)|*.pre|All files (*.*)|*.*"; od.Title = "Select Presentation State File"; if (od.ShowDialog(this) == DialogResult.OK) { using (FileStream fileContent = new FileStream(od.FileName, FileMode.Open)) { ImGearPresStateOptions opts = new ImGearPresStateOptions(); presStateOrigMetadata = ImGearDICOM.LoadPresState(fileContent, (ImGearRasterPage)imGearPage, imGearPageView1.Display, opts); artPage = imGearPageView1.Display.ARTPage as ImGearARTPage; imGearPageView1.Update(); } }
5、“Save Presentation State”菜單項目處理程序添加下面的代碼:
SaveFileDialog sd = new SaveFileDialog(); sd.Filter = "Presentation State (*.pre)|*.pre|All files (*.*)|*.*"; sd.Title = "Save Presentation State File"; if (sd.ShowDialog(this) == DialogResult.OK) { using (FileStream fileContent = new FileStream(sd.FileName, FileMode.Create)) { if (imGearPage is ImGearRasterPage) { ImGearPresStateOptions opts = new ImGearPresStateOptions(); ImGearMetadataHead presStateMetadata = ImGearDICOM.PreparePresStateMetadata((ImGearRasterPage)imGearPage, imGearPageView1.Display, presStateOrigMetadata, opts); // Note: The application can edit presStateMetadata here ImGearDICOM.SavePresState(fileContent, presStateMetadata); } } }
6、在“Load Page”菜單項目處理程序的代碼中添加下面的語句,在imGearPageView1.Invalidate()聲明之前。
// Delete presStateOrigMetadata if any presStateOrigMetadata = null;
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件