⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bmp.h~

📁 图像置乱代码
💻 H~
字号:
#ifndef _BITMAP_H_LXH
#define _BITMAP_H_LXH

#include <tina/all_tina.h>
#include <sys/types.h>
#include <ctype.h>
#include <stdio.h>
/*
#include <fcntl.h>
#include <sys/file.h>
#include <string.h>
#include <stdio.h>
#include <malloc.h>
#include <tina/image.h>
*/
#define nMaxRow			1024
#define nMaxCol			768
#define WIDTHBYTES(bits)	((DWORD)(((bits)+31) & (~31)) / 8)
#define HEADEROFFSET		54

#ifndef _DATA_FLAG_
#define _DATA_FLAG_

typedef unsigned long		DWORD;
typedef int			bool;
typedef unsigned char		BYTE;
typedef unsigned short		WORD;
typedef long 			LONG;

#endif

typedef struct tagBITMAPFILEHEADER {
	WORD    bfType;
	DWORD   bfSize;
	WORD    bfReserved1;
	WORD    bfReserved2;
	DWORD   bfOffBits;
} BITMAPFILEHEADER;

typedef struct tagBITMAPINFOHEADER {
	DWORD      biSize;
	DWORD      biWidth;
	DWORD      biHeight;
	WORD       biPlanes;
	WORD       biBitCount;
	DWORD      biCompression;
	DWORD      biSizeImage;
	DWORD      biXPelsPerMeter;
	DWORD      biYPelsPerMeter;
	DWORD      biClrUsed;
	DWORD      biClrImportant;
} BITMAPINFOHEADER;

typedef struct tagRGBQUAD {
	BYTE    rgbBlue;
	BYTE    rgbGreen;
	BYTE    rgbRed;
	BYTE    rgbReserved;
} RGBQUAD;

typedef struct tagBMPHeader {
	BITMAPFILEHEADER	BFH;
	BITMAPINFOHEADER	BIH;
} BMPHEADER;

/*****  matrix.h  *****/

#ifndef _MATRIX_H_LXH
#define _MATRIX_H_LXH

typedef struct tagMATRIX {
	BYTE ** data;
	int rows;
	int cols;
}DATA_MATRIX;

typedef struct tagRGB {
	DATA_MATRIX * red;
	DATA_MATRIX * green;
	DATA_MATRIX * blue;
}RGB;

#endif

/*****  END of  matrix.h  *****/


/***** 函数原型 *****/

int fputWord(FILE *fp,int n);
int fputLong(FILE *fp,long n);
void printRGBQUAD(RGBQUAD * x);
BMPHEADER * getBmpHeader(const char * BmpFileName); 
RGBQUAD * getBmpPalette(const char * BmpFileName, BMPHEADER * header);
int BmpHeaderView(BMPHEADER *header);
DATA_MATRIX * dataview_bmp8(const char * filename, BMPHEADER * header);
int writeBMP8(const BMPHEADER * header, const DATA_MATRIX * Data, const char * filename);
void ImrectToBMP8(Imrect* im , const char* filename);
RGB * getRGB_bmp24(const char * filename, BMPHEADER * header);
void RGB_print(const RGB * rgb);
int writeBMP24(const  BMPHEADER * header,const RGB *rgb_matrix,const char * filename);

DATA_MATRIX * DATA_MATRIX_new(int rows, int cols);
void DATA_MATRIX_free(DATA_MATRIX * mat);
void DATA_MATRIX_print(DATA_MATRIX * mat);
void DATA_MATRIX_assign(DATA_MATRIX * mat, int value);

#endif

/****** END of bmp.h *****/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -