estrutura _BITMAPINFOHEADER

A estrutura _BITMAPINFOHEADER define o formato de um quadro de vídeo.

Sintaxe

typedef struct _tagBITMAPINFOHEADER {
  DWORD biSize;
  LONG  biWidth;
  LONG  biHeight;
  WORD  biPlanes;
  WORD  biBitCount;
  DWORD biCompression;
  DWORD biSizeImage;
  LONG  biXPelsPerMeter;
  LONG  biYPelsPerMeter;
  DWORD biClrUsed;
  DWORD biClrImportant;
} _BITMAPINFOHEADER;

Membros

biSize

Especifica o número de bytes exigidos pela estrutura.

Biwidth

Especifica a largura do bitmap, em pixels.

Biheight

Especifica a altura do bitmap, em pixels. Se biHeight for positivo, o bitmap será um DIB de baixo para cima e sua origem será o canto inferior esquerdo. Se biHeight for negativo, o bitmap será um DIB de cima para baixo e sua origem será o canto superior esquerdo. Se biHeight for negativo, indicando um DIB de cima para baixo, biCompression deverá ser BI_RGB ou BI_BITFIELDS. DiBs de cima para baixo não podem ser compactados.

Biplanos

Especifica o número de planos para o dispositivo de destino. Esse valor deve ser definido como 1.

Bibitcount

Especifica o número de bits por pixel. O membro biBitCount da estrutura BITMAPINFOHEADER determina o número de bits que definem cada pixel e o número máximo de cores no bitmap. Esse membro deve ser um dos valores a seguir.

Valor Descrição
1 O bitmap é monocromático e o membro bmiColors contém duas entradas. Cada bit na matriz de bitmap representa um pixel. Se o bit estiver claro, o pixel será exibido com a cor da primeira entrada na tabela bmiColors; se o bit estiver definido, o pixel terá a cor da segunda entrada na tabela.
2 O bitmap tem quatro valores de cor possíveis.
4 O bitmap tem no máximo 16 cores e o membro bmiColors contém até 16 entradas. Cada pixel no bitmap é representado por um índice de 4 bits na tabela de cores. Por exemplo, se o primeiro byte no bitmap for 0x1F, o byte representará dois pixels. O primeiro pixel contém a cor na segunda entrada de tabela e o segundo pixel contém a cor na décima sexta entrada de tabela.
8 O bitmap tem no máximo 256 cores e o membro bmiColors contém até 256 entradas. Nesse caso, cada byte na matriz representa um único pixel.
16 O bitmap tem no máximo 2^16 cores. Se o membro biCompression do BITMAPINFOHEADER for BI_RGB, o membro bmiColors será NULL. Cada WORD na matriz de bitmap representa um único pixel. As intensidades relativas de vermelho, verde e azul são representadas com 5 bits para cada componente de cor. O valor para azul está nos 5 bits menos significativos, seguido por 5 bits cada para verde e vermelho. O bit mais significativo não é usado. A tabela de cores bmiColors é usada para otimizar as cores usadas em dispositivos baseados em paleta e deve conter o número de entradas especificadas pelo membro biClrUsed.
24 O bitmap tem no máximo 2^24 cores e o membro bmiColors é NULL. Cada trigêmeo de 3 bytes na matriz de bitmap representa as intensidades relativas de azul, verde e vermelho, respectivamente, para um pixel. A tabela de cores bmiColors é usada para otimizar as cores usadas em dispositivos baseados em paleta e deve conter o número de entradas especificadas pelo membro biClrUsed.
32 O bitmap tem no máximo 2^32 cores. Se o membro biCompression for BI_RGB, o membro bmiColors será NULL. Cada DWORD na matriz de bitmap representa as intensidades relativas de azul, verde e vermelho, respectivamente, para um pixel. O byte alto em cada DWORD não é usado. A tabela de cores bmiColors é usada para otimizar as cores usadas em dispositivos baseados em paleta e deve conter o número de entradas especificadas pelo membro biClrUsed.

Bicompression

Especifica o tipo de compactação para um bitmap compactado de baixo para cima (DIBs de cima para baixo não podem ser compactados). Esse membro pode ser um dos valores a seguir.

Valor Descrição
BI_RGB Um formato descompactado.
BI_BITFIELDS Especifica que o bitmap não é compactado e que a tabela de cores consiste em três máscaras de cores DWORD que especificam os componentes vermelho, verde e azul, respectivamente, de cada pixel. Isso é válido quando usado com bitmaps de 16 bpp e 32 bpp. Esse valor é válido no Microsoft Windows CE versão 2.0 e posterior.

biSizeImage

Especifica o tamanho da imagem, em bytes. Isso pode ser definido como zero para BI_RGB bitmaps.

biXPelsPerMeter

Especifica a resolução horizontal, em pixels por medidor, do dispositivo de destino para o bitmap. Um aplicativo pode usar esse valor para selecionar um bitmap de um grupo de recursos que melhor corresponda às características do dispositivo atual.

biYPelsPerMeter

Especifica a resolução vertical, em pixels por medidor, do dispositivo de destino para o bitmap.

Biclrused

Especifica o número de índices de cores na tabela de cores que são realmente usados pelo bitmap. Se esse valor for zero, o bitmap usará o número máximo de cores correspondente ao valor do membro biBitCount para o modo de compactação especificado por biCompression.

biClrImportant

Especifica o número de índices de cores necessários para exibir o bitmap. Se esse valor for zero, todas as cores serão necessárias.

Se biClrUsed não for zero e o membro biBitCount for menor que 16, o membro biClrUsed especificará o número real de cores que o mecanismo gráfico ou o driver de dispositivo acessa. Se biBitCount for 16 ou superior, o membro biClrUsed especificará o tamanho da tabela de cores usada para otimizar o desempenho das paletas de cores do sistema. Se biBitCount for igual a 16 ou 32, a paleta de cores ideal começará imediatamente após as três máscaras DWORD.

Se o bitmap for um bitmap empacotado (um bitmap no qual a matriz de bitmap segue imediatamente a estrutura _BITMAPINFOHEADER e é referenciada por um único ponteiro), o membro biClrUsed deve ser zero ou o tamanho real da tabela de cores.

Comentários

Essa estrutura está contida em uma estrutura de _VIDEOINFOHEADER .

Requisitos

Requisito Valor
parâmetro
Wmdm.idl

Confira também

Estruturas

_VIDEOINFOHEADER