2011-01-27 10 views
3

WinFormsとMicrosoft Service Reports/CrystalReportsにCGMファイルを表示するための.NET C#ライブラリを知っている人はいますか?CGM(Computer Graphics Metafile)形式の.NETまたはC#ライブラリ?

、また、JPEG、GIF、PNGなどのようなウェブやさしいグラフィックス形式にファイルを変換することができている場合、それはまた、非常に参考になるが..

これはおそらく.NET Library for CGM File Conversionそれから繰り返し質問ですOPは答えをマークしていないし、提案された解決策は.NET互換でした。

私はもう一度私の運を試しています。助けてくれてありがとう。

答えて

3

私はこの一時的なハッキングをSOと​​共有したいだけです。可能であれば、私はまだ適切なライブラリが必要です(.NETはExcelのチュートリアルをオンラインで利用できるようにします)

using System; 
using Excel = Microsoft.Office.Interop.Excel; 
using Microsoft.Office.Core; 
using System.Drawing; 

namespace CGM 

{ 
    public class CGMConverter 
    { 
     Image _mImage; 

     public Image Image { get { return _mImage; } } 

     public CGMConverter(string cgm, float width, float height) 
     { 
      object misValue = System.Reflection.Missing.Value; 
      Excel.Application xlsApp = null; 
      Excel.Workbook xlsWorkBook = null; 
      Excel.Worksheet xlsWorkSheet = null; 

      try 
      { 
       xlsApp = new Excel.ApplicationClass(); 
       xlsWorkBook = xlsApp.Workbooks.Add(misValue); 
       xlsWorkSheet = (Excel.Worksheet)xlsWorkBook.Sheets["sheet1"]; 
       xlsWorkSheet.Shapes.AddPicture(cgm, MsoTriState.msoFalse, MsoTriState.msoTrue, 50, 50, width, height); 
       xlsWorkSheet.Shapes.Item(0).Copy(); 
       _mImage = System.Windows.Forms.Clipboard.GetImage(); 
      } 
      catch(Exception e) 
      { 
       throw (e); 
      } 
      finally 
      { 
       xlsApp.DisplayAlerts = false; 
       xlsApp.Quit(); 
       releaseObject(xlsWorkSheet); 
       releaseObject(xlsWorkBook); 
       releaseObject(xlsApp); 
      } 
     } 

     private void releaseObject(object obj) 
     { 
      try 
      { 
       System.Runtime.InteropServices.Marshal.ReleaseComObject(obj); 
       obj = null; 
      } 
      catch (Exception ex) 
      { 
       obj = null; 
      } 
      finally 
      { 
       GC.Collect(); 
      } 
     } 
    } 
} 
関連する問題