Partilhar via


Sobre bitmaps

Um bitmap é um dos objetos GDI que podem ser selecionados para um contexto de dispositivo (DC). Contextos de dispositivo são estruturas que definem um conjunto de objetos gráficos e seus atributos associados, e modos gráficos que afetam a saída. A tabela abaixo descreve os objetos GDI que podem ser selecionados em um contexto de dispositivo.

Objeto gráfico Descrição
Bitmaps Cria, manipula (dimensiona, rola, gira e pinta) e armazena imagens como arquivos em um disco.
Pincéis Pinta o interior de polígonos, elipses e caminhos.
Fontes Desenha texto em monitores de vídeo e outros dispositivos de saída.
Paleta Lógica Uma paleta de cores criada por um aplicativo e associada a um determinado contexto de dispositivo.
Caminhos Uma ou mais figuras (ou formas) preenchidas e/ou delineadas.
Canetas Uma ferramenta gráfica que um aplicativo usa para desenhar linhas e curvas.
Regiões Um retângulo, polígono ou elipse (ou uma combinação de duas ou mais dessas formas) que pode ser preenchido, pintado, invertido, emoldurado e usado para realizar testes de acerto (teste para a localização do cursor).

 

Da perspetiva de um desenvolvedor, um bitmap consiste em uma coleção de estruturas que especificam ou contêm os seguintes elementos:

  • Um cabeçalho que descreve a resolução do dispositivo no qual o retângulo de pixels foi criado, as dimensões do retângulo, o tamanho da matriz de bits e assim por diante.
  • Uma paleta lógica.
  • Uma matriz de bits que define a relação entre pixels na imagem bitmap e entradas na paleta lógica.

Um tamanho de bitmap está relacionado ao tipo de imagem que ele contém. As imagens bitmap podem ser monocromáticas ou coloridas. Em uma imagem, cada pixel corresponde a um ou mais bits em um bitmap. As imagens monocromáticas têm uma proporção de 1 bit por pixel (bpp). A imagem colorida é mais complexa. O número de cores que podem ser exibidas por um bitmap é igual a duas aumentadas para o número de bits por pixel. Assim, um bitmap de 256 cores requer 8 bpp (2^8 = 256).

Os aplicativos do Painel de Controle são exemplos de aplicativos que usam bitmaps. Quando você seleciona um plano de fundo (ou papel de parede) para sua área de trabalho, você realmente seleciona um bitmap, que o sistema usa para pintar o plano de fundo da área de trabalho. O sistema cria o padrão de fundo selecionado desenhando repetidamente um padrão de 32 por 32 pixels na área de trabalho.

A ilustração a seguir mostra a perspetiva do desenvolvedor do bitmap encontrado no arquivo Redbrick.bmp. Ele mostra uma matriz de paleta, um retângulo de 32 por 32 pixels e a matriz de índice que mapeia cores da paleta para pixels no retângulo.

ilustração do retângulo de pixel, matriz de paleta e matriz de índice de redbrick.bmp

No exemplo anterior, o retângulo de pixels foi criado em um dispositivo de exibição VGA usando uma paleta de 16 cores. Uma paleta de 16 cores requer índices de 4 bits; Portanto, a matriz que mapeia as cores da paleta para cores de pixel também é composta por índices de 4 bits. (Para obter mais informações sobre paletas de cores lógicas, consulte Cores.)

Observação

No bitmap acima, o sistema mapeia índices para pixels começando com a linha de varredura inferior da região retangular e terminando com a linha de varredura superior. Uma linha de varrimento é uma única fila de pixels adjacentes num ecrã de vídeo. Por exemplo, a primeira linha da matriz (linha 0) corresponde à linha inferior de pixels, linha de varredura 31. Isso ocorre porque o bitmap acima é um bitmap independente de dispositivo (DIB) de baixo para cima, um tipo comum de bitmap. Em DIBs de cima para baixo e em bitmaps dependentes de dispositivo (DDB), o sistema mapeia índices para pixels começando com a linha de varredura superior.

 

Os tópicos a seguir descrevem diferentes áreas de bitmaps.