Compartilhar via


Estrutura BITMAPINFO

The BITMAPINFO estrutura define as dimensões e as informações de cores para um bitmap independente de dispositivo do Windows (DIB).

typedef struct tagBITMAPINFO {
   BITMAPINFOHEADER bmiHeader;
   RGBQUAD bmiColors[1];
} BITMAPINFO;

Parâmetros

  • bmiHeader
    Especifica um BITMAPINFOHEADER estrutura que contém informações sobre as dimensões e formato de cor de um bitmap independente de dispositivo.

  • bmiColors
    Especifica uma matriz de RGBQUAD or DWORD tipos de dados que define as cores no bitmap.

Comentários

Um bitmap independente de dispositivo consiste em duas partes distintas: a BITMAPINFO estrutura que descrevem as dimensões e cores do bitmap e uma matriz de bytes definindo os pixels do bitmap. Os bits na matriz são embalados juntas, mas cada linha de varredura deve ser preenchida com zeros para terminar em um LONGOlimite de .Se a altura for positiva, a origem do bitmap está no canto inferior esquerdo.Se a altura for negativa, a origem é o canto superior esquerdo.

The biBitCount membro do BITMAPINFOHEADER estrutura determina o número de bits que definem cada pixel e o número máximo de cores no bitmap.Este membro pode ser um dos seguintes valores:

  • O bitmap for monocromática e o bmiColors membro contém duas entradas.Cada bit na matriz bitmap representa um pixel.Se o bit estiver desmarcar, o pixel será exibido com a cor da primeira entrada no bmiColors tabela; se o bit estiver definido, o pixel tem a cor da segunda entrada na tabela.

  • O bitmap tem um máximo de 16 cores e o bmiColors membro contém até 16 entradas.Cada pixel no bitmap é representado por um índice de 4 bit na tabela de cores.Por exemplo, se o primeiro byte no bitmap 0x1F, o byte representa dois pixels.Primeiro pixel contém a cor da segunda entrada de tabela e o segundo pixel contém a cor no décimo sexto a entrada da tabela.

  • O bitmap tem um máximo de 256 cores e o bmiColors membro contém até 256 entradas.Nesse caso, cada byte na matriz representa um único pixel.

  • O bitmap tem um máximo de 216 cores.The biCompression membro do BITMAPINFOHEADER must be BI_BITFIELDS.The bmiColors membro contém 3 DWORD máscaras de cor que especificam os componentes vermelhos, verdes e azuis, respectivamente, de cada pixel. Bits conjunto no DWORD máscara deve ser contígua e não deve sobrepor os bits de máscara de outro. Todos os bits de pixel não são necessário que ser usado.Cada PALAVRA na matriz representa um único pixel.

  • O bitmap tem um máximo de 224 cores e o bmiColors membro é NULO.Cada trinca 3 byte na matriz bitmap representa as quantidades relativas de azul, verde e vermelho, respectivamente, de um pixel.

  • O bitmap tem um máximo de 232 cores.The biCompression membro do BITMAPINFOHEADER must be BI_BITFIELDS.The bmiColors membro contém três DWORD máscaras de cor que especificam os componentes vermelhos, verdes e azuis, respectivamente, de cada pixel. Bits conjunto no DWORD máscara deve ser contígua e não deve sobrepor os bits de máscara de outro. Todos os bits de pixel não são necessário que ser usado.Cada DWORD a matriz representa um único pixel.

The biClrUsed membro do BITMAPINFOHEADER estrutura Especifica o número de índices de cor na tabela de cores, na verdade, são usados pelo bitmap.Se o biClrUsed membro é conjunto como zero, o bitmap usa o número máximo de cores correspondente ao valor do biBitCount membro.

As cores a bmiColors tabela deve aparecer na ordem de importância.Como alternativa, para funções que usam DIBs, a bmiColors membro pode ser uma matriz de inteiros não assinados de 16 bit que especificam os índices na paleta de lógica realizada no momento, em vez de valores RGB explícitas.Nesse caso, um aplicativo usando o bitmap deve chamar as funções do Windows DIB (CreateDIBitmap, CreateDIBPatternBrush, and CreateDIBSection) com o iUsage parâmetro conjunto para DIB_PAL_COLORS.

Se o bitmap for um bitmap compactado (ou seja, um bitmap em que a matriz de bitmap segue imediatamente o BITMAPINFO cabeçalho e que é referenciado por um ponteiro único), o biClrUsed membro deve ser definido como um número par ao usar o DIB_PAL_COLORS modo para o DIB bitmap matriz inicia em um DWORD limite.

Observação:

O bmiColors membro não deve conter paleta índices se o bitmap deve ser armazenada em um arquivo ou transferidos para outro aplicativo.A menos que o aplicativo tenha uso exclusivo e controle do bitmap, a tabela de cores bitmap deve conter valores RGB explícitas.

Requisitos

Cabeçalho: wingdi.h

Consulte também

Referência

CBrush::CreateDIBPatternBrush

Outros recursos

Estruturas, estilos, retornos de chamada e mapas de mensagem