- 日志
- 好友
- 卖家信用
- 买家信用
- 注册时间
- 2004-9-26
- 在线时间
- 小时
|
发表于 2008-7-22 17:54:21
|
显示全部楼层
给你一个我以前写过的BMP简单缩小程序.
给你一个我以前写过的BMP简单缩小程序
我加一些注释给你。估计有些拼写错误,.没有考虑速度没有考虑错误处理等等,只是个基本的流程你将就一下。不懂的话我们一起讨论。
虽然是C++写的,基本也都是C函数。
#include
#include
#include
#include
using namespace std;
#define WIDTHBYTES(bits) (((bits)+31)/32*4) //计算每行字节数
#define ZOOMX 2 //X方面的缩小率倍数
#define ZOOMY 2//Y方面的缩小率倍数
//下面的一些变量定义在MFC的wingdi.h里面有;当然本来BMP程序用MFC最好处理的。
typedef unsigned char BYTE;
typedef unsigned long DWORD;
typedef unsigned short WORD;
typedef __nullterminated char *LPSTR;
typedef struct tagbmpReadFileHead { //BMP文件头结构
char bfType0;//'BM'
char bfType1;//'BM'
DWORD BfSize; //Size of Bmpfile
WORD bfReserve1;
WORD bfReserve2;
DWORD BfOffBits;
} bmpReadFileHead ;
typedef struct tagbmpReadInfHead {//BMP位图信息头结构
DWORD biSzie;
DWORD biWidth;
DWORD biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
DWORD biXpelspermeter;
DWORD biYpelspermeter;
DWORD biClrUsed;
DWORD biClrImprotant;
} bmpReadInfHead ;
void main()
{
FILE *readBmpFile, *writeBmpFile;
cout |
|