初级会员

- 积分
- 56
- 金钱
- 56
- 注册时间
- 2019-5-11
- 在线时间
- 12 小时
|
5金钱
各位朋友你们好,我在把RGB565数据保存成bmp文件时遇到了一些困难,麻烦大家能够给我提一些解决方法
我查阅MSDN已经知道了bmp文件的结构,按照相关参考写入文件后不能得到我想要的结果,以下是相关代码
(我觉得问题出在BITMAPINFOHEADER这个结构上,文档还是没有看明白)
图片分辨率是320*240,数据格式是RGB565
- //生成位图格式文件
- BITMAPFILEHEADER mfh;
- BITMAPINFOHEADER mih;
- DWORD closeMask[3];
- mfh.bfType = 0x4d42;//BM
- mfh.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + 320 * 240 * 2 + 12;
- mfh.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
- mfh.bfReserved1 = 0;
- mfh.bfReserved2 = 0;
- <font color="Red">
- mih.biSize = sizeof(BITMAPINFOHEADER) + 12;
- mih.biWidth=320;
- mih.biHeight=240;
- mih.biPlanes=1;
- mih.biBitCount=16;
- mih.biCompression= BI_BITFIELDS;
- mih.biSizeImage= 320 * 240 * 2;
- mih.biXPelsPerMeter=3780;
- mih.biYPelsPerMeter=3780;
- mih.biClrUsed=12;
- mih.biClrImportant=0;</font>
- closeMask[2]=0x1f;
- closeMask[1] = 0x07e0;
- closeMask[1] = 0xf800;
- WriteFile(hMyMbp, &mfh, sizeof(BITMAPFILEHEADER), &cWrite, NULL);
- WriteFile(hMyMbp, &mih, sizeof(BITMAPINFOHEADER), &cWrite, NULL);
- WriteFile(hMyMbp, closeMask, 12, &cWrite, NULL);
- WriteFile(hMyMbp, tTCPRecvBuff, sizeof(tTCPRecvBuff), &cWrite, NULL);
复制代码
|
|