O formato BMP

O formato BMP é um dos formatos mais simples atribuído a um arquivo. Ele foi desenvolvido conjuntamente pela Microsoft e pela IBM e é usado principalmente pelas plataformas Windows. Conheça um pouco sobre esse formato no artigo a seguir.

O que é formato BMP

Um arquivo BMP é um arquivo bitmap, ou seja, um arquivo de imagem gráfica que armazena os pixels na forma de uma tabela de pontos e que gerencia as cores verdadeiras, como elas são, graças a uma paleta indexada. O formato BMP foi concebido para obter um bitmap independente do dispositivo de exibição.

Qual é a estrutura de um arquivo bitmap

Qualquer arquivo BMP se compõe de três ou quatro partes. São elas cabeçalho do arquivo, cabeçalho do bitmap, paleta de cores (única parte opcional) e corpo da imagem no arquivo. Vejamos separadamente o que é cada uma delas.

Cabeçalho de arquivo

O cabeçalho do arquivo traz informações sobre o tipo de arquivo e seu tamanho, bem como indica onde começa realmente a informação da imagem. Ele compreende quatro campos:

O primeiro campo é o da assinatura, que indica que se trata de um arquivo BMP com dois caracteres BM, pois trata-se de um mapa de bits do Windows. O segundo campo é para o tamanho total do arquivo em bytes (codificado em 4 bytes).

O terceiro campo é reservado e conta com 4 bytes. O quarto campo é o ajuste da imagem em 4 bytes. Ou seja, a conexão com o início da informação em relação ao começo do arquivo.

Cabeçalho dos mapas dos bitmaps

Nessa parte do arquivo, estão contidas as informações da imagem que definem as dimensões, o tipo de compressão, se for o caso, e os detalhes sobre as cores da imagem.

Cabeçalho da imagem

O cabeçalho da imagem informa sobre a imagem, principalmente tamanhos e cores. Ele é composto por quatro campos: tamanho do cabeçalho da imagem, largura da imagem, resolução horizontal e resolução vertical.

O tamanho do cabeçalho da imagem (codificado em 4 bytes) possui valores hexadecimais que variam de acordo com o tipo de formato BMP. A largura da imagem (expressa em 4 bytes) aponta o número de pixels horizontal e verticalmente. A resolução horizontal (em 4 bytes) é o número de pixels por metro horizontalmente e a resolução vertical (em 4 bytes) é o número de pixels por metro verticalmente.

Paleta da imagem

A paleta é opcional. Quando uma paleta é definida, ela contém, sucessivamente, 4 bytes para cada uma de suas entradas, representando os componentes azul (em 1 byte), verde (1 byte), vermelho (1 byte) e um campo reservado (1 byte).

Codificação da imagem

A codificação da imagem se faz escrevendo sucessivamente os bits correspondentes a cada pixel, linha por linha, sempre partindo do pixel no canto inferior esquerdo. Imagens com duas cores utilizam 1 bit por pixel, o que significa que um byte permite codificar 8 pixels e as imagens com 16 cores utilizam 4 bits por pixel, o que significa que um byte permite codificar 2 pixels.

Já as imagens com 256 cores utilizam 8 bits por pixel, o que significa que um byte codifica cada pixel e as imagens com cores reais utilizam 24 bits por pixel, o que significa que são necessários 3 bytes para codificar cada pixel, sempre atentando para a ordem da alternância azul, verde e vermelha.

Cada linha da imagem deve comportar um número total de bytes que seja um múltiplo de 4, se este não for o caso, a linha deve ser completada com 0 de maneira a respeitar este critério.

Foto: © Valerii Minhirov - 123RF.com

Nosso conteúdo é produzido em colaboração com especialistas em tecnologia da informação sob o comando de Jean-François Pillou, fundador do CCM.net. CCM é um site sobre tecnologia líder em nível internacional e está disponível em 11 idiomas.
Veja também
Este documento, intitulado 'O formato BMP', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.

Assine nossa newsletter!

Assine nossa newsletter!
Junte-se à comunidade