Compartilhar via


Tipos de Bitmaps

Um bitmap é uma matriz de bits que especifica a cor de cada pixel em uma matriz retangular de pixels. O número de bits dedicados a um pixel individual determina o número de cores que podem ser atribuídas a esse pixel. Por exemplo, se cada pixel for representado por 4 bits, um determinado pixel poderá receber uma das 16 cores diferentes (2^4 = 16). A tabela a seguir mostra alguns exemplos do número de cores que podem ser atribuídas a um pixel representado por um determinado número de bits.

Bits por pixel Número de cores que podem ser atribuídas a um pixel
1 2^1 = 2
2 2^2 = 4
4 2^4 = 16
8 2^8 = 256
16 2^16 = 65.536
24 2^24 = 16, 777, 216

 

Os arquivos de disco que armazenam bitmaps geralmente contêm um ou mais blocos de informações que armazenam informações como número de bits por pixel, número de pixels em cada linha e número de linhas na matriz. Esse arquivo também pode conter uma tabela de cores (às vezes chamada de paleta de cores). Uma tabela de cores mapeia números no bitmap para cores específicas. A ilustração a seguir mostra uma imagem ampliada junto com seu bitmap e tabela de cores. Cada pixel é representado por um número de 4 bits, portanto, há 2^4 = 16 cores na tabela de cores. Cada cor na tabela é representada por um número de 24 bits: 8 bits para vermelho, 8 bits para verde e 8 bits para azul. Os números são mostrados na forma hexadecimal (base 16): A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.

ilustração mostrando uma matriz de números, uma imagem e uma tabela que corresponde os números de matriz a cores

Examine o pixel na linha 3, coluna 5 da imagem. O número correspondente no bitmap é 1. A tabela de cores informa que 1 representa a cor vermelha, portanto, o pixel é vermelho. Todas as entradas na linha superior do bitmap são 3. A tabela de cores nos diz que 3 representa azul, portanto, todos os pixels na linha superior da imagem são azuis.

Nota

Alguns bitmaps são armazenados no formato de baixo para cima; os números na primeira linha do bitmap correspondem aos pixels na linha inferior da imagem.

 

Um bitmap que armazena índices em uma tabela de cores é chamado de bitmap indexado por paleta. Alguns bitmaps não precisam de uma tabela de cores. Por exemplo, se um bitmap usa 24 bits por pixel, esse bitmap pode armazenar as cores em vez de índices em uma tabela de cores. A ilustração a seguir mostra um bitmap que armazena cores diretamente (24 bits por pixel) em vez de usar uma tabela de cores. A ilustração também mostra uma exibição ampliada da imagem correspondente. No bitmap, FFFFFF representa branco, FF0000 representa vermelho, 00FF00 representa verde e 0000FF representa azul.

ilustração de uma matriz de valores hexadecimal, seguido pela imagem de bitmap que os números representam

 

Formatos de arquivo gráfico

Há muitos formatos padrão para salvar bitmaps em arquivos. O Windows GDI+ dá suporte aos formatos de arquivo gráfico descritos nos parágrafos a seguir.

BMP (Bitmap)

O BMP é um formato padrão usado pelo Windows para armazenar imagens independentes do dispositivo e independentes do aplicativo. O número de bits por pixel (1, 4, 8, 15, 24, 32 ou 64) para um determinado arquivo BMP é especificado em um cabeçalho de arquivo. Arquivos BMP com 24 bits por pixel são comuns.

gif (formato de intercâmbio gráfico)

GIF é um formato comum para imagens que aparecem em páginas da Web. GiFs funcionam bem para desenhos de linha, imagens com blocos de cor sólida e imagens com limites afiados entre cores. GIFs são compactados, mas nenhuma informação é perdida no processo de compactação; uma imagem descompactada é exatamente a mesma que a original. Uma cor em um GIF pode ser designada como transparente, para que a imagem tenha a cor da tela de fundo de qualquer página da Web que a exiba. Uma sequência de imagens GIF pode ser armazenada em um único arquivo para formar um GIF animado. Os GIFs armazenam no máximo 8 bits por pixel, portanto, são limitados a 256 cores.

JPEG (Joint Photographic Experts Group)

JPEG é um esquema de compactação que funciona bem para cenas naturais, como fotografias digitalizadas. Algumas informações são perdidas no processo de compactação, mas muitas vezes a perda é imperceptível para o olho humano. As imagens JPEG coloridas armazenam 24 bits por pixel, portanto, elas são capazes de exibir mais de 16 milhões de cores. Há também um formato JPEG em escala de cinza que armazena 8 bits por pixel. OS JPEGs não dão suporte à transparência ou à animação.

O nível de compactação em imagens JPEG é configurável, mas níveis de compactação mais altos (arquivos menores) resultam em mais perda de informações. Uma taxa de compactação 20:1 geralmente produz uma imagem que o olho humano acha difícil de distinguir do original. A ilustração a seguir mostra uma imagem BMP e duas imagens JPEG que foram compactadas dessa imagem BMP. O primeiro JPEG tem uma taxa de compactação de 4:1 e o segundo JPEG tem uma taxa de compactação de cerca de 8:1.

ilustração mostrando uma imagem bitmap e duas compactações jpeg dessa imagem; a compactação mais alta tem mais variação do original

A compactação JPEG não funciona bem para desenhos de linha, blocos de cor sólida e limites afiados. A ilustração a seguir mostra um BMP junto com dois JPEGs e um GIF. Os JPEGs e o GIF foram compactados do BMP. A taxa de compactação é 4:1 para o GIF, 4:1 para o JPEG menor e 8:3 para o JPEG maior. Observe que o GIF mantém os limites afiados ao longo das linhas, mas os JPEGs tendem a desfocar os limites.

ilustração comparando um bitmap de um desenho de linha a dois equivalentes jpeg e um gif; o gif preserva melhor a cor e a nitidez da linha

JPEG é um esquema de compactação, não um formato de arquivo. JFIF (Formato de Intercâmbio de Arquivos JPEG) é um formato de arquivo comumente usado para armazenar e transferir imagens que foram compactadas de acordo com o esquema JPEG. Os arquivos JFIF exibidos por navegadores da Web usam a extensão .jpg.

arquivo de imagem trocável (Exif)

Exif é um formato de arquivo usado para fotografias capturadas por câmeras digitais. Um arquivo Exif contém uma imagem compactada de acordo com a especificação JPEG. Um arquivo Exif também contém informações sobre a fotografia (data tirada, velocidade do obturador, tempo de exposição e assim por diante) e informações sobre a câmera (fabricante, modelo e assim por diante).

png (elementos gráficos de rede portáteis)

O formato PNG mantém muitas das vantagens do formato GIF, mas também fornece funcionalidades além das do GIF. Assim como os arquivos GIF, os arquivos PNG são compactados sem perda de informações. Os arquivos PNG podem armazenar cores com escalas de 8, 24 ou 48 bits por pixel e cinza com 1, 2, 4, 8 ou 16 bits por pixel. Por outro lado, os arquivos GIF podem usar apenas 1, 2, 4 ou 8 bits por pixel. Um arquivo PNG também pode armazenar um valor alfa para cada pixel, que especifica o grau em que a cor desse pixel é misturada com a cor da tela de fundo.

O PNG aprimora o GIF em sua capacidade de exibir progressivamente uma imagem; ou seja, para exibir melhores e melhores aproximações da imagem à medida que ela chega por meio de uma conexão de rede. Os arquivos PNG podem conter informações de correção de gama e correção de cores para que as imagens possam ser renderizadas com precisão em uma variedade de dispositivos de exibição.

TIFF (formato de arquivo de imagem) de marca de

O TIFF é um formato flexível e extensível que é compatível com uma ampla variedade de plataformas e aplicativos de processamento de imagens. Os arquivos TIFF podem armazenar imagens com um número arbitrário de bits por pixel e podem empregar uma variedade de algoritmos de compactação. Várias imagens podem ser armazenadas em um único arquivo TIFF de várias páginas. Informações relacionadas à imagem (marca do scanner, computador host, tipo de compactação, orientação, exemplos por pixel e assim por diante) podem ser armazenadas no arquivo e organizadas por meio do uso de marcas. O formato TIFF pode ser estendido conforme necessário pela aprovação e adição de novas marcas.