如何将MFC CImage保存在.WMF文件中

How to save MFC CImage in .WMF file?

本文关键字:存在 WMF 文件 保存 CImage MFC      更新时间:2023-10-16

如何将MFC CImage保存在.WMF文件中?如果我使用CImage.Save方法将其保存为.WMF格式,我会收到错误"保存失败:80004005-未指定错误"。

有没有其他方法可以将MFC CImage保存为.WMF格式?

提前谢谢。

CImage在设计上不支持向量图形,如增强型元文件格式(EMF)Windows元文件格式。它只是GDI+Image类的包装类,仅支持光栅图像格式:JPEG、GIF、BMP和可移植网络图形(PNG)格式。

以下是基于GDI+保存EMF/WMF文件的方法:

Bitmap* pBitmap;
...
// do some paintings on pBitmap
...
CStringW sFileName = L"c:\FilesImage.emf";
CDC* pDC = GetDC();
Metafile* pMetaFile = new Metafile(sFileName, pDC->m_hDC);
Graphics graphics(pMetaFile);
graphics.DrawImage(pBitmap, 0, 0, pBitmap->GetWidth(), 
                                  pBitmap->GetHeight());