C# 将位图转换为图元文件(.emf)

C# 将位图转换为图元文件(.emf),c#,bitmap,.emf,C#,Bitmap,.emf,我有一个bitmap.bmp文件,我想将其转换为metafile.emf格式。目前我正在使用此代码: Metafile metafile; using (MemoryStream stream = new MemoryStream()) using (Graphics rtfBoxGraphics = m_ActiveTab.Controls[0].CreateGraphics()) { IntPtr pDevi

我有一个bitmap.bmp文件,我想将其转换为metafile.emf格式。目前我正在使用此代码:

        Metafile metafile;
        using (MemoryStream stream = new MemoryStream())
        using (Graphics rtfBoxGraphics = m_ActiveTab.Controls[0].CreateGraphics())
        {
          IntPtr pDeviceContext = rtfBoxGraphics.GetHdc();

          metafile = new Metafile(stream, pDeviceContext);
          using (Graphics imageGraphics = Graphics.FromImage(metafile))
          {               
            imageGraphics.DrawImageUnscaled(bmp1, new Rectangle(0, 0,bmp1.Width, bmp1.Height));     
          }
          rtfBoxGraphics.ReleaseHdc(pDeviceContext);
        }

        // Get a handle to the metafile
        IntPtr iptrMetafileHandle = metafile.GetHenhmetafile();

        // Export metafile to an image file
        CopyEnhMetaFile(iptrMetafileHandle, @"e:\Test\test4.emf");

        // Delete the metafile from memory
        DeleteEnhMetaFile(iptrMetafileHandle);


[DllImport("gdi32.dll")]
static extern IntPtr CopyEnhMetaFile(  // Copy EMF to file
  IntPtr hemfSrc,   // Handle to EMF
  String lpszFile // File
);

[DllImport("gdi32.dll")]
static extern int DeleteEnhMetaFile(  // Delete EMF
  IntPtr hemf // Handle to EMF
);
为什么这个代码不能正常工作?请提供完整的代码将位图文件转换为元文件,特别是.emf文件。 或 如果可能,请告诉我如何以图元文件格式保存图形对象。 假设我有这个代码

Graphics NewGraphicsObj = m_ActiveTab.Controls[0].CreateGraphics();
现在,我想将这个NewGraphicsObj保存到一个元文件中

有人在这个问题上提供帮助吗


提前感谢…

您可能会想说为什么您的代码不能正常工作-仅仅说此代码不能正常工作对任何人都没有帮助…另外,请参见此处:没有什么会让我拒绝回答像完整代码请求这样的问题。没有人愿意为你免费编写程序。