图片字节流生成bmp文件

Posted 风的哀伤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图片字节流生成bmp文件相关的知识,希望对你有一定的参考价值。


1
BITMAPFILEHEADER bfh;//文件头
2
bfh.bfType=0x4d42; 3 bfh.bfOffBits=sizeof(bfh)+sizeof(BITMAPINFOHEADER); 4 bfh.bfSize=bfh.bfOffBits+m_nWidth*m_nHeight*3; 5 bfh.bfReserved1=0; 6 bfh.bfReserved2=0; 7 8 CFile file; 9 CFileFind findFile; 10 if (findFile.FindFile(strpath)) 11 { 12 file.Remove(strpath); 13 } 14 15 if(!file.Open(strpath,CFile::modeCreate|CFile::modeRead|CFile::modeWrite)) 16 { 17 AfxMessageBox("error!"); 18 return; 19 } 20 file.Write(&bfh,sizeof(bfh)); 21 file.Write(m_pBmpInfo,sizeof(BITMAPINFOHEADER)); 22 file.Write(m_pBmpData,m_nWidth*m_nHeight*3); 23 file.Close();

PS:位图信息头文件定义

 1         BITMAPINFO* m_pBmpInfo = new BITMAPINFO[sizeof(BITMAPINFOHEADER)+sizeof(RGBQUAD)];
 2         m_pBmpInfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
 3         m_pBmpInfo->bmiHeader.biBitCount = 24;
 4         m_pBmpInfo->bmiHeader.biWidth = m_nWidth;
 5         m_pBmpInfo->bmiHeader.biHeight = 0-m_nHeight;
 6         m_pBmpInfo->bmiHeader.biPlanes = 1;
 7         m_pBmpInfo->bmiHeader.biCompression = BI_RGB;
 8         m_pBmpInfo->bmiHeader.biSizeImage = 0;
 9         m_pBmpInfo->bmiHeader.biXPelsPerMeter = 0;
10         m_pBmpInfo->bmiHeader.biYPelsPerMeter = 0;
11         m_pBmpInfo->bmiHeader.biClrUsed = 0;
12         m_pBmpInfo->bmiHeader.biClrImportant = 0;

 

以上是关于图片字节流生成bmp文件的主要内容,如果未能解决你的问题,请参考以下文章

根据文件字节流判定文件类型

IO拷贝代码

字节流--读取并复制图片

简单利用缓冲字节流复制图片

Java 利用 HttpURLConnection 读取页面 返回字节流(生成静态页面)

Java字节流-从文件输入,输出到文件