Information from source codes
bmpFile.h
/*
# bmpFile.h : $Revision$
# $Date$
# Created by $Author$
# Usage : bmpFile.h
# Attention
# $Loccker$
# $State$
#
*/
/* $Log$ */
#ifndef BMP_FILE_H
#define BMP_FILE_H
#include
#include "mrcImage.h"
/* constant begin */
/* constant end */
/* struct begin */
typedef struct bmpFileHeader {
char bfType[2]; // BM
unsigned int bfSize; // FileSize [Byte]
char bfReserved1[2];
char bfReserved2[2];
unsigned int bfOffBits; // ImageOffset [Byte]
} bmpFileHeader; /* 14 BYTE */
typedef struct bmpFileInfoHeader {
unsigned int biSize;
int biWidth; // [Pixel]
int biHeight; // [Pixel]
unsigned short biPlanes; // 1
unsigned short biBitCount; // bits/pixel
unsigned int biCompression;
unsigned int biSizeImage;
int biXPixPerMeter;
int biYPixPerMeter;
unsigned int biCirUsed;
unsigned int biCirImportant;
} bmpFileCoreHeader;
typedef struct bmpFileColorPalette {
char rgbBlue;
char rgbGreen;
char rgbRed;
char rgbReserved;
} bmpFileColorPalette;
typedef struct bmpFile {
bmpFileHeader Header;
bmpFileCoreHeader Info;
bmpFileColorPalette* Palette ;
unsigned char* Image;
unsigned char* ColorImage;
int Width;
int Width4;
int Height;
int numPixel;
int numPixel4;
int BytesPerPixel;
int BitsPerPixel;
int BytesPerImage;
} bmpFile;
typedef enum lbmp2mrcInfoMode {
lbmp2mrcInfoModeY=0,
lbmp2mrcInfoModeR=1,
lbmp2mrcInfoModeG=2,
lbmp2mrcInfoModeB=3
} lbmp2mrcInfoMode;
typedef struct lbmp2mrcInfo {
mrcImageParaTypeRealCoord Length;
lbmp2mrcInfoMode mode;
} lbmp2mrcInfo;
/* struct end */
#ifdef __cplusplus
extern "C" {
#endif
/* prototype begin */
/* bmpFileRead.c */
extern void bmpFileRead(bmpFile* in, FILE* fpt, int mode);
/* lbmp2mrc.c */
extern void lbmp2mrc(mrcImage* out, bmpFile* in, lbmp2mrcInfo linfo, int mode);
extern void lbmp2mrcUsage(FILE* fpt);
/* bmpFileInfo.c */
extern void bmpFileInfo(FILE* fpt, bmpFile* in, int mode);
extern void bmpFileFileHeaderInfo(FILE* fpt, bmpFile* in, int mode);
extern void bmpFileInfoHeaderInfo(FILE* fpt, bmpFile* in, int mode);
extern void bmpFilePaletteInfo(FILE* fpt, bmpFile* in, int mode);
/* prototype end */
#ifdef __cplusplus
};
#endif
#endif /* XXXX */