怎么用C语言读入、转存一个 BMP图片啊。。。

来源:百度知道 编辑:UC知道 时间:2024/05/09 15:33:26
怎么读入 怎么转存 。。 我刚学完C语言,,好多不清楚噢,
用C++是不是简单些。。C++又怎么写程序啊。。

给你C++的代码吧呵呵,C的也差不多,稍微修改一下就行了
主要是你要了解BMP文件的结构,就是文件头那里所包含的信息,这里用了BITMAPINFOHEADER等现成的结构体来处理,BMP的文件头百度一下就知道的啦,很多资料
#include "fstream.h"//24bit bitmap
bool CBitmapWindow::LoadFile (char *bmpFile)
{
FILE *fp;
if((fp=fopen(bmpFile,"rb"))==NULL)
return false;

WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
BITMAPINFOHEADER bih;
fread(&bfType,sizeof(WORD),1,fp);
if(bfType!=0x4d42)
return false;
fread(&bfSize,sizeof(DWORD),1,fp);
fread(&bfReserved1,sizeof(WORD),1,fp);
fread(&bfReserved2,sizeof(WORD),1,fp);
fread(&bfOffBits,sizeof(DWORD),1,fp);
fread(&bih,sizeof(BITMAPINFOHEADER1),1,fp);
nWidth=bih.biWidth ;
nHeight=bih.biHeight;