home *** CD-ROM | disk | FTP | other *** search
/ Xentax forum attachments archive / xentax.7z / 5036 / source.7z / x_bmp.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2011-12-13  |  956 b   |  33 lines

  1. #include "xentax.h"
  2.  
  3. BOOL CreateBMPHeaders(DWORD dx, DWORD dy, DWORD bpp, BITMAPFILEHEADER* fileHeader, BITMAPINFOHEADER* infoHeader)
  4. {
  5.  // validate
  6.  if(!fileHeader) return FALSE;
  7.  if(!infoHeader) return FALSE;
  8.  if(dx == 0) return FALSE;
  9.  if(dy == 0) return FALSE;
  10.  if(!(bpp == 1 || bpp == 4 || bpp == 8 || bpp == 16 || bpp == 24 || bpp == 32)) return FALSE;
  11.  
  12.  // set file header
  13.  fileHeader->bfType = 0x4D42; 
  14.  fileHeader->bfSize = 0;
  15.  fileHeader->bfReserved1 = 0;
  16.  fileHeader->bfReserved2 = 0;
  17.  fileHeader->bfOffBits = 0;
  18.  
  19.  // set info header
  20.  infoHeader->biSize = sizeof(BITMAPINFOHEADER);
  21.  infoHeader->biWidth = dx;
  22.  infoHeader->biHeight = dy;
  23.  infoHeader->biPlanes = 1;
  24.  infoHeader->biBitCount = (WORD)bpp;
  25.  infoHeader->biCompression = BI_RGB;
  26.  infoHeader->biSizeImage = 0;
  27.  infoHeader->biXPelsPerMeter = 0;
  28.  infoHeader->biYPelsPerMeter = 0;
  29.  infoHeader->biClrUsed = 0;
  30.  infoHeader->biClrImportant = 0;
  31.  
  32.  return TRUE;
  33. }