Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. #pragma pack(push, 1)
  2. typedef struct tagBITMAPFILEHEADER
  3. {
  4.   Word   bfType;       //òèï ôàéëà (äëÿ áèòîâîãî îáðàçà - BM)
  5.   Dword  bfSize;       //ðàçìåð ôàéëà â dword
  6.   Word   bfReserved1;  //íå èñïîëüçóåòñÿ
  7.   Word   bfReserved2;  //íå èñïîëüçóåòñÿ
  8.   Dword  bfOffbits;    //ñìåùåíèå äàííûõ áèòîâîãî îáðàçà îò çàãîëîâêà â áàéòàõ
  9. } tagBITMAPFILEHEADER;
  10.  
  11. typedef struct tagBITMAPINFOHEADER
  12. {
  13.   Dword  biSize;          //÷èñëî áàéò, çàíèìàåìûõ ñòðóêòóðîé BITMAPINFOHEADER
  14.   Dword  biWidth;         //øèðèíà áèòîâîãî îáðàçà â ïèêñåëàõ
  15.   Dword  biHeight;        //âûñîòà áèòîâîãî îáðàçà â ïèêñåëàõ
  16.   Word   biPlanes;        //÷èñëî áèòîâûõ ïëîñêîñòåé óñòðîéñòâà
  17.   Word   biBitCount;      //÷èñëî áèòîâ íà ïèêñåëü
  18.   Dword  biCompression;   //òèï ñæàòèÿ
  19.   Dword  biSizeImage;     //ðàçìåð êàðòèíêè â áàéòàõ
  20.   Dword  biXPelsPerMeter; //ãîðèçîíòàëüíîå ðàçðåøåíèå óñòðîéñòâà, ïèêñåë/ì
  21.   Dword  biYPelPerMeter;  //âåðòèêàëüíîå ðàçðåøåíèå óñòðîéñòâà, ïèêñåë/ì
  22.   Dword  biClrUsed;       //÷èñëî èñïîëüçóåìûõ öâåòîâ
  23.   Dword  biClrImportant;  //÷èñëî "âàæíûõ" öâåòîâ
  24. } tagBITMAPINFOHEADER;
  25.  
  26. typedef struct tagRGBQUAD
  27. {
  28.   Byte   rgbBlue;
  29.   Byte   rgbGreen;
  30.   Byte   rgbRed;
  31.   Byte   rgbReserved;  
  32. } tagRGBQUAD;
  33. #pragma pack(pop)
  34.  
  35. class BMPFile
  36. {
  37. protected:
  38.   tagBITMAPFILEHEADER Bmp_head;
  39.   tagBITMAPINFOHEADER Info_head;
  40. public:
  41.   Dword width;
  42.   Dword height;
  43.   Byte* buffer;
  44.   int  BMPFile::LoadBMPFile(Byte* filebuff, Dword filesize);
  45. };