将图像数据写入文件的函数
2010-04-07 09:58
127 查看
BOOL CreateBmp(char *filename, uint8_t *pRGBBuffer, int width, int height, int bpp)
{
BITMAPFILEHEADER bmpheader;
BITMAPINFO bmpinfo;
FILE *fp = NULL;
fp = fopen(filename,"wb");
if( fp == NULL )
{
return FALSE;
}
bmpheader.bfType = ('M' <<8)|'B';
bmpheader.bfReserved1 = 0;
bmpheader.bfReserved2 = 0;
bmpheader.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
bmpheader.bfSize = bmpheader.bfOffBits + width*height*bpp/8;
bmpinfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmpinfo.bmiHeader.biWidth = width;
bmpinfo.bmiHeader.biHeight = height;
bmpinfo.bmiHeader.biPlanes = 1;
bmpinfo.bmiHeader.biBitCount = bpp;
bmpinfo.bmiHeader.biCompression = BI_RGB;
bmpinfo.bmiHeader.biSizeImage = 0;
bmpinfo.bmiHeader.biXPelsPerMeter = 100;
bmpinfo.bmiHeader.biYPelsPerMeter = 100;
bmpinfo.bmiHeader.biClrUsed = 0;
bmpinfo.bmiHeader.biClrImportant = 0;
fwrite(&bmpheader,sizeof(BITMAPFILEHEADER),1,fp);
fwrite(&bmpinfo.bmiHeader,sizeof(BITMAPINFOHEADER),1,fp);
fwrite(pRGBBuffer,width*height*bpp/8,1,fp);
fclose(fp);
fp = NULL;
return TRUE;
}
{
BITMAPFILEHEADER bmpheader;
BITMAPINFO bmpinfo;
FILE *fp = NULL;
fp = fopen(filename,"wb");
if( fp == NULL )
{
return FALSE;
}
bmpheader.bfType = ('M' <<8)|'B';
bmpheader.bfReserved1 = 0;
bmpheader.bfReserved2 = 0;
bmpheader.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
bmpheader.bfSize = bmpheader.bfOffBits + width*height*bpp/8;
bmpinfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmpinfo.bmiHeader.biWidth = width;
bmpinfo.bmiHeader.biHeight = height;
bmpinfo.bmiHeader.biPlanes = 1;
bmpinfo.bmiHeader.biBitCount = bpp;
bmpinfo.bmiHeader.biCompression = BI_RGB;
bmpinfo.bmiHeader.biSizeImage = 0;
bmpinfo.bmiHeader.biXPelsPerMeter = 100;
bmpinfo.bmiHeader.biYPelsPerMeter = 100;
bmpinfo.bmiHeader.biClrUsed = 0;
bmpinfo.bmiHeader.biClrImportant = 0;
fwrite(&bmpheader,sizeof(BITMAPFILEHEADER),1,fp);
fwrite(&bmpinfo.bmiHeader,sizeof(BITMAPINFOHEADER),1,fp);
fwrite(pRGBBuffer,width*height*bpp/8,1,fp);
fclose(fp);
fp = NULL;
return TRUE;
}
相关文章推荐
- 通过调用同一个函数(参数不同)将数据写入文件和显示到屏幕上
- put()函数把数据顺序写入文件
- 关于C语言fprintf()函数将纯数据写入文件速度慢的解决方法
- 【python图像处理】txt文件数据的读取与写入
- 文件磁盘相关函数[22]-文本文件读写-不同数据类型的写入
- 在Java中如何读取用MATLAB的fwrite()函数写入文件的数据
- 图像数据写入到文件(读写文件)
- 调用fwrite函数向一个文件写入十六进制数据时,当写入值为0x0A时,其前面总是加上一个0x0D
- opencv将图像数据写入二进制(.dat)文件
- 使用fseek()函数从文件尾部前移并且写入数据
- 使用Apache POI创建Excel,并从数据库中读取数据写入到Excel文件中
- yuv数据格式介绍与rgb的转换,图像文件的封装
- 孙鑫VC学习笔记:第十二讲 (五) 往win.ini的文件中写入数据
- 【Android 开发】:数据存储之File文件存储 [即SD卡的写入与读取]
- python3将csv文件中的两列数据读取出来,并且按行写入txt文本之中
- PHP读取文件函数/写入文件函数
- DirectShow中利用SampleGrabber捕获摄像头每一帧图像,并转为BMP文件信息写入内存
- JXTree对象,读取外部xml文件数据,生成树的函数
- C语言getpwnam()函数:从密码文件中取得指定账号的数据
- php 写入缓存文件、读取缓存文件的函数代码