Media_Dev

BITMAPINFO

jaster 2008. 6. 10. 12:16
반응형

typedef struct tagBITMAPFILEHEADER {
        WORD    bfType;
        DWORD   bfSize;
        WORD    bfReserved1;
        WORD    bfReserved2;
        DWORD   bfOffBits;
} BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;


typedef struct tagBITMAPINFO
{
      BITMAPINFOHEADER bmiHeader;  

      RGBQUAD          bmiColors[1];
} BITMAPINFO, *PBITMAPINFO;


/////////////////////////////////////////////////////////////////////


static BITMAPINFO *pbmi = (BITMAPINFO *)malloc(sizeof(BITMAPINFOHEADER) + (sizeof(RGBQUAD)*256));

 pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
 pbmi->bmiHeader.biWidth = px_width;
 pbmi->bmiHeader.biHeight = px_height;
 pbmi->bmiHeader.biPlanes = 1;
 pbmi->bmiHeader.biBitCount = 24;
 pbmi->bmiHeader.biCompression = BI_RGB;
 pbmi->bmiHeader.biSizeImage = px_width * px_height;
 pbmi->bmiHeader.biXPelsPerMeter = 0;
 pbmi->bmiHeader.biYPelsPerMeter = 0;
 pbmi->bmiHeader.biClrUsed = 0;
 pbmi->bmiHeader.biClrImportant = 0;

 // 컬러 세팅
 for (i=0; i<256; ++i)
 {
   pbmi->bmiColors[i].rgbRed = i;
   pbmi->bmiColors[i].rgbGreen = i;
   pbmi->bmiColors[i].rgbBlue = i;
   pbmi->bmiColors[i].rgbReserved = 0;
 }

[출처] BITMAPINFO|작성자 rebismir

반응형