VC 中怎样将用 DirectDraw处理过的图像输出到BMP格式文件里?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC 中怎样将用 DirectDraw处理过的图像输出到BMP格式文件里?相关的知识,希望对你有一定的参考价值。
VC 中怎样将用 DirectDraw处理过的图像输出到BMP格式文件里
参考技术A 我是通过CreateFile建立BMP文件;然后设置位图文件头, 写入位图文件头;
接着,写入图片信息;
最后,写入位图文件内容。
比如,我的BMP数据在m_pFrame缓冲区中,通过下面函数来保存文件
BOOL SaveImage(LPCTSTR szBmpFile)
DWORD dwWritten;
HANDLE hFile = CreateFile(szBmpFile, GENERIC_WRITE, FILE_SHARE_READ, NULL,
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if (hFile == INVALID_HANDLE_VALUE) return FALSE;
// 设置位图文件头, 写入位图文件头
BITMAPFILEHEADER bmpFileHeader;
memset( &bmpFileHeader, 0, sizeof(bmpFileHeader));
bmpFileHeader.bfType = 'MB';
bmpFileHeader.bfSize = sizeof(bmpFileHeader) + m_nFramelen + sizeof(BITMAPINFOHEADER);
bmpFileHeader.bfOffBits =sizeof( BITMAPFILEHEADER ) + sizeof( BITMAPINFOHEADER);
WriteFile( hFile, &bmpFileHeader, sizeof(BITMAPFILEHEADER), &dwWritten, NULL);
// 写入图片信息
WriteFile( hFile, &m_pBmp->bmiHeader, sizeof(BITMAPINFOHEADER), &dwWritten, NULL);
// 写入位图文件内容
WriteFile( hFile, (LPCVOID)m_pFrame, m_nFramelen, &dwWritten, NULL );
CloseHandle( hFile );
return TRUE;
以上是关于VC 中怎样将用 DirectDraw处理过的图像输出到BMP格式文件里?的主要内容,如果未能解决你的问题,请参考以下文章