将 CBitmap 保存到 .bmp 文件

jab*_*avi 3 mfc bitmap cdc cbitmap

我正在CBitmap使用CDC. 当我完成它时,我想将它保存到一个文件中。我已经看到有关该代码LINK的进程的一些信息:

CFile file;
if(file.Open(szFileName, CFile::modeCreate | CFile::modeWrite))
{ 
    file.Write(&bh, sizeof(BITMAPFILEHEADER));
    file.Write(&(bi.bmiHeader), sizeof(BITMAPINFOHEADER));
    file.Write(lpBitmapBits, 3 * nWidth * nHeight);
    file.Close();
}
Run Code Online (Sandbox Code Playgroud)

我的疑问是关于BITMAPFILEHEADERBITMAPINFOHEADER。我怎样才能用给定的CBitmapor填充它们CDC

bar*_*ity 5

你可以试试这个:

CImage image;

image.Attach(CDCvar.GetCurrentBitmap());
image.Save(_T(".\\test.bmp"), Gdiplus::ImageFormatBMP);
Run Code Online (Sandbox Code Playgroud)