typedef struct • biSize = dimensão da estrutura em bytes (40)
{ BITMAPFILEHEADER • biWidth = número de pixel por linha WORD bfType; • biHeight = numero de linhas (>0: bitmap bottom-up, <0: bitmap DWORD bfSize; top-down) BITMAPINFOHEADER WORD bfReserved1; • biPlanes = número de planos de cor (sempre =1 no DIB) WORD bfReserved2; • biBitCount = número de bits para representar uma cor no array DWORD bfOffBits; array de RGBQUAD de bits (1,4,8,24 ou 32) } BITMAPFILEHEADER; • biCompression Indica se o bitmap é armazenado de forma comprimida: • bfType='B','M' BITS BI_RGB (=0) imagem não comprimida • bfSize=tamanho do arquivo em BI_RLE8 (=1) 8 bit run length encoding (RLE) bytes como especificado no BI_RLE4 (=2) 4 bit RLE directório do disco • biSizeImage Tamanho da imagem do bitmap em bytes. Pode ser • bfReserved1,2=0 0 se biCompression=BI_RGB • bfOffBits=offset em que se encontra o 1º byte do array de bits • biXPelsPerMeter, biYPelsPerMeter resolução no eixo do X e Y em pixel por metro typedef struct • biClrUsed número de cores usadas na pallete. (=0 se todas { usadas) DWORD biSize; • biClrImportant número de cores na pallete que são mais LONG biWidth; importantes (=0 todas são de igual importância) LONG biHeight; WORD biPlanes; A palette é constituida por um array de estruturas RGBQUAD: WORD biBitCount; DWORD biCompression; typedef struct DWORD biSizeImage; { LONG biXPelsPerMeter; BYTE rgbBlue; LONG biYPelsPerMeter; BYTE rgbGreen; DWORD biClrUsed; BYTE rgbRed; DWORD biClrImportant; BYTE rgbReserved; } BITMAPINFOHEADER; } RGBQUAD;