• 大小: 2KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: C/C++
  • 标签: BMP位图  

资源简介

实现过程: A、写入文件头 B、写入信息头 C、写入图像RGB数据 (无调色板) 亲测可以使用

资源截图

代码片段和文件信息

BOOL CSubView::SaveBitmap()
{
BITMAPINFOHEADER bih;  
ConstructBih(render_widthrender_heightbih);  
BITMAPFILEHEADER bhh;  
ContructBhh(render_widthrender_heightbhh);  
//24位真彩色,24位表示一个像素,3个字节表示一个像素
int widthStep = (render_width * 3 + 3) & ~3  ; //每行字节数是4的倍数
int DIBSize = widthStep * render_height ;  //buffer的大小 (字节为单位)  
TCHAR BMPFileName[1024]=“D:\\test.bmp“;
CFile file;  
if(file.Open(BMPFileNameCFile::modeWrite | CFile::modeCreate))  


file.Write((LPSTR)&bhhsizeof(BITMAPFILEHEADER));  
file.Write((LPSTR)&bihsizeof(BITMAPINFOHEADER));  
file.Write(render_bitmap_surfaceDIBSize);  
//file.Write(render_bitmap_surfacerender_bitmap.header.biSizeImage);
file.Close();  
}  
return 0;
}
//构建BMP位图文件头  
void CSubView::ContructBhh(int nWidthint nHeightBITMAPFILEHEADER& bhh) //add 2010-9-04  
{  
//24位真彩色,24位表示一个像素,3个字节表示一个像素
int widthStep = (render_width * 3 + 3) & ~3  ; //每行字节数是4的倍数
bhh

评论

共有 条评论