找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2263|回复: 6

MFC将内存数据保存.bmp图像文件的函数

[复制链接]

该用户从未签到

发表于 2010-8-9 20:34:30 | 显示全部楼层 |阅读模式
本帖最后由 1282867270 于 2010-8-9 21:25 编辑

【专业程度较高,不喜欢就算了,看懂的自然会用,看不懂的也不要喷哦~~】
void CTestDlg::createBMP(int width,int height,const CString& path)//width:图像宽,height:图像高(单位:像素),path:保存的路径
{
        BITMAPFILEHEADER bfh={0};
        BITMAPINFOHEADER bih={0};
        int len=3*width*height;
        bfh.bfType=19778;//"BM"
        bfh.bfSize=len+54;
        /////////////////////////////
        bih.biSize=40;
        bih.biWidth=width;
        bih.biHeight=height;
        bih.biPlanes=1;
        bih.biBitCount=24;
        bih.biSizeImage=len;
        ////////////////////////////////
        UCHAR *buf=new UCHAR[len];
        memset(buf,0,len);
        UCHAR *DATA=new UCHAR[len+54];
        memset(DATA,0,len+54);
        ///////////////////////////////
&#160; &#160; &#160; &#160; for (int i=0;i<len/3;i++)
&#160; &#160; &#160; &#160; {
&#160; &#160; &#160; &#160; //&#160; &#160; &#160; &#160; buf[i*3+1]=0xff;//绿
&#160; &#160; &#160; &#160; //&#160; &#160; &#160; &#160; buf[i*3+2]=0xff;//红
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; buf[i*3]=0xff;//蓝
&#160; &#160; &#160; &#160; }
&#160; &#160; &#160; &#160; UCHAR *p=DATA;
&#160; &#160; &#160; &#160; memcpy(p,&bfh,sizeof(bfh));
&#160; &#160; &#160; &#160; p+=sizeof(bfh);
&#160; &#160; &#160; &#160; memcpy(p,&bih,sizeof(bih));
&#160; &#160; &#160; &#160; p+=sizeof(bih);
&#160; &#160; &#160; &#160; memcpy(p,buf,len);
&#160; &#160; &#160; &#160; ///////////////////////////////
&#160; &#160; &#160; &#160; CFile file(path,CFile::modeWrite|CFile::modeCreate);
&#160; &#160; &#160; &#160; if (file)
&#160; &#160; &#160; &#160; {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; file.Write(DATA,len+54);
&#160; &#160; &#160; &#160; }
&#160; &#160; &#160; &#160; file.Close();
&#160; &#160; &#160; &#160; delete[] buf;
&#160; &#160; &#160; &#160; delete[] DATA;

}

该用户从未签到

发表于 2010-8-9 20:38:45 | 显示全部楼层
本帖最后由 MaMaMiYa 于 2010-8-9 21:19 编辑

LZ可以看看这篇文章:有药也不给你吃

该用户从未签到

发表于 2010-8-9 20:46:13 | 显示全部楼层
回复 2# MaMaMiYa

你怎么什么都懂啊

该用户从未签到

发表于 2010-8-9 21:00:53 | 显示全部楼层
回复 3# honwenle


    科学家的肚是杂货铺

该用户从未签到

发表于 2010-8-9 21:02:00 | 显示全部楼层
能人真多啊!

该用户从未签到

发表于 2010-8-9 21:18:50 | 显示全部楼层
忽然发现LZ原来是群里发黄图让我觉得群主无能愤而退群的人.算我手贱.

该用户从未签到

 楼主| 发表于 2010-8-9 21:22:18 | 显示全部楼层
回复 6# MaMaMiYa

呵呵,没关系,技术是技术,私生活是私生活。刚刚自己实现了一下用VC自己写图像处理,就发出来,看别人需要不?

评分

参与人数 1金币 +1 收起 理由
MaMaMiYa + 1 以后请大爷你无视我,谢谢

查看全部评分

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表