123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #ifndef _BMP_H
- #define _BMP_H
- #define xBI_NONE 0
- #define xBI_RGB 0
- #define xBI_RLE4 2
- #define xBI_RLE8 1
- #define BMP_SIGNATURE_WORD 0x4d42
- #pragma pack(1)
- typedef struct {
- unsigned short bfType;
- unsigned long bfSize;
- unsigned short bfReserved1;
- unsigned short bfReserved2;
- unsigned long bfOffBits;
- } bmphd_t;
- typedef struct {
- unsigned long biSize;
- long biWidth;
- long biHeight;
- unsigned short biPlanes;
- unsigned short biBitCount;
- unsigned long biCompression;
- unsigned long biSizeImage;
- long biXPelsPerMeter;
- long biYPelsPerMeter;
- unsigned long biClrUsed;
- unsigned long biClrImportant;
- } binfo_t;
- typedef struct {
- unsigned char blue;
- unsigned char green;
- unsigned char red;
- unsigned char reserved;
- } drgb_t;
- typedef struct {
- unsigned char r;
- unsigned char g;
- unsigned char b;
- } rgb_t;
- typedef struct {
- unsigned char b;
- unsigned char g;
- unsigned char r;
- } bgr_t;
- typedef struct {
- int bpp;
- int width;
- int height;
- unsigned char *data;
- rgb_t *palette;
- } bitmap_t;
- void LoadBMP(char *filename, bitmap_t *bit);
- void FreeBMP(bitmap_t *bitmap);
- void WriteBMP(char *filename, bitmap_t *bit);
- void NewBMP(int width, int height, int bpp, bitmap_t *bit);
- #endif
|