Você está na página 1de 1

Estrutura do formato de ficheiro BITMAP

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;

(C) CCISEL 1997-Paulo Marques

Você também pode gostar