C++ 如何在.WMF文件中保存MFC CImage?

C++ 如何在.WMF文件中保存MFC CImage?,c++,visual-c++,mfc,C++,Visual C++,Mfc,如何将MFC CImage保存在.WMF文件中?如果使用CImage.Save方法将其保存为.WMF格式,则会出现错误“保存失败:80004005-未指定错误” 是否有其他方法以.WMF格式保存MFC CImage 提前感谢。CImage不支持矢量图形,如增强型图元文件格式(EMF)和Windows图元文件格式(WMF)。它只是GDI+中Image类的包装类,只支持光栅图像格式:JPEG、GIF、BMP和便携式网络图形(PNG)格式 以下是基于GDI+保存EMF/WMF文件的方法: Bitmap

如何将MFC CImage保存在.WMF文件中?如果使用CImage.Save方法将其保存为.WMF格式,则会出现错误“保存失败:80004005-未指定错误”

是否有其他方法以.WMF格式保存MFC CImage


提前感谢。

CImage不支持矢量图形,如增强型图元文件格式(EMF)Windows图元文件格式(WMF)。它只是GDI+中
Image
类的包装类,只支持光栅图像格式:JPEG、GIF、BMP和便携式网络图形(PNG)格式

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

Bitmap* pBitmap;
...
// do some paintings on pBitmap
...
CStringW sFileName = L"c:\\Files\Image.emf";

CDC* pDC = GetDC();
Metafile* pMetaFile = new Metafile(sFileName, pDC->m_hDC);
Graphics graphics(pMetaFile);
graphics.DrawImage(pBitmap, 0, 0, pBitmap->GetWidth(), 
                                  pBitmap->GetHeight());

你是如何拯救它的?根据,
CImage
仅支持BMP、PNG、JPG或GIF。你可能也喜欢。谢谢罗杰的回复。那么我是否必须使用GDI+以.WMF格式保存CImage?是否有其他方法将CBitmap转换为.WMF格式?我正在使用CImage查看WMF文件,并将该图像旋转90度。现在我想在WMF文件中再次保存它。如何实现它?此功能不受
CImage
支持。您应该改用GDI+位图类。