很弱的问题,建立一个bmp文件头

kittity 2002-10-07 09:32:50
我有一段数据想存成bmp
全部都是灰度的
文件头怎么写?
帮帮忙
谢谢

(比如我有BYTE *pByte[100*100]的数据
想存成一个正方形)

...全文
99 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lonk 2002-10-08
  • 打赏
  • 举报
回复
DIB位图么?
你可以看看programming windows, by petzoldi,里面有详细的介绍。
或者好像一本visual c++图像处理,人民邮电出版的,应该也有。

我自己写的,写文件头的,你可以参考参考咔咔。
BOOL CDIBBitmap::CreateBitmap(LONG lBmpWidth, LONG lBmpHeight)
{
Release();
Initialize();

lWidth=(lBmpWidth % 4 ==0) ? lBmpWidth : (lBmpWidth/4+1)*4;
lLength=lWidth*lpbmInfoHeader->biHeight+sizeof(BITMAPINFOHEADER)+
sizeof(BITMAPFILEHEADER)+
1024; // length of RGBQUAD

try
{
lpbData=new BYTE[lLength];
}
catch(CException* e)
{
e->ReportError();
e->Delete();

#ifdef _DEBUG
AfxMessageBox("CDIBBitmap::CreateBitmap内存分配失败!");
#endif

return FALSE;
}

bEmpty=FALSE;
SetModify();

lpbmFileHeader=(LPBITMAPFILEHEADER)lpbData;
lpbmInfoHeader=(LPBITMAPINFOHEADER)(lpbData+sizeof(BITMAPFILEHEADER));
lpBMI=(LPBITMAPINFO)lpbmInfoHeader;
pRGB=(RGBQUAD*)(lpbData+sizeof(BITMAPFILEHEADER)+
sizeof(BITMAPINFOHEADER));
lpbBmpData=lpbData+sizeof(BITMAPFILEHEADER)+
sizeof(BITMAPINFOHEADER)+1024;

WORD bmpType=(WORD)'M';
bmpType<<=8;
bmpType |= (BYTE)'B';

lpbmFileHeader->bfType=bmpType;
lpbmFileHeader->bfOffBits=54;
lpbmFileHeader->bfReserved1=0;
lpbmFileHeader->bfReserved2=0;
lpbmFileHeader->bfSize=lLength;

lpbmInfoHeader->biWidth=lBmpWidth;
lpbmInfoHeader->biHeight=lBmpHeight;
lpbmInfoHeader->biSize=40;
lpbmInfoHeader->biSizeImage=lLength-sizeof(BITMAPFILEHEADER)-sizeof(BITMAPINFOHEADER)-1024;
lpbmInfoHeader->biPlanes=1;
lpbmInfoHeader->biBitCount=8;
lpbmInfoHeader->biCompression=0;
lpbmInfoHeader->biXPelsPerMeter=0;
lpbmInfoHeader->biYPelsPerMeter=0;
lpbmInfoHeader->biClrUsed=0;
lpbmInfoHeader->biClrImportant=0;

return TRUE;
}

也可以清心 2002-10-08
  • 打赏
  • 举报
回复
建议你看看MSDN中“Windows GDI”下的“Bitmap”部分,特别是“About Bitmap”中的“Bitmap Storage”一节和“Bitmap Reference”中的“Bitmap Structures”一节,主要是数据结构。会者不难:)
kittity 2002-10-08
  • 打赏
  • 举报
回复
能把这个类的全部代码给我看看吗?
谢谢
kittity@elong.com

4,499

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧