Partilhar 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 é representado por 4 bits, então um determinado pixel pode ser atribuído a 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 apresentados em 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 faz a correspondência entre os números da matriz e as cores

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

Observação

Alguns bitmaps são armazenados no formato bottom-up; 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 de 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 próprias 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 visã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 hexadecimais, seguida pela imagem bitmap que os números representam

 

Formatos de arquivo gráfico

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

Bitmap (BMP)

BMP é um formato padrão usado pelo Windows para armazenar imagens independentes do dispositivo e 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.

formato GIF (Graphics Interchange Format)

GIF é um formato comum para imagens que aparecem em páginas da Web. Os GIFs funcionam bem para desenhos de linhas, imagens com blocos de cor sólida e imagens com limites nítidos entre cores. GIFs são compactados, mas nenhuma informação é perdida no processo de compactação; Uma imagem descomprimida é exatamente igual à original. Uma cor em um GIF pode ser designada como transparente, para que a imagem tenha a cor 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, por isso são limitados a 256 cores.

Grupo Conjunto de Peritos Fotográficos (JPEG)

JPEG é um esquema de compressão que funciona bem para cenas naturais, como fotografias digitalizadas. Algumas informações são perdidas no processo de compressão, mas muitas vezes a perda é impercetível ao olho humano. As imagens JPEG coloridas armazenam 24 bits por pixel, por isso 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. JPEGs não suportam transparência ou animação.

O nível de compressão em imagens JPEG é configurável, mas níveis de compressão mais elevados (ficheiros mais pequenos) resultam em mais perda de informação. Uma taxa de compressão de 20:1 muitas vezes 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 a partir dessa imagem BMP. O primeiro JPEG tem uma taxa de compressão de 4:1 e o segundo JPEG tem uma taxa de compressão de cerca de 8:1.

ilustração mostrando uma imagem bitmap e duas compressões jpeg dessa imagem; a compressã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 nítidos. A ilustração a seguir mostra um BMP junto com dois JPEGs e um GIF. Os JPEGs e o GIF foram compactados a partir do BMP. A taxa de compressão é de 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 nítidos ao longo das linhas, mas os JPEGs tendem a borrar os limites.

ilustração comparando um bitmap de um desenho de linha com 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. JPEG File Interchange Format (JFIF) é um formato de arquivo comumente usado para armazenar e transferir imagens que foram compactadas de acordo com o esquema JPEG. Os arquivos JFIF exibidos pelos navegadores da Web usam a extensão .jpg.

arquivo de imagem intercambiá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 de captura, velocidade do obturador, tempo de exposição, etc.) e informações sobre a câmera (fabricante, modelo e assim por diante).

Portable Network Graphics (PNG)

O formato PNG mantém muitas das vantagens do formato GIF, mas também fornece recursos além dos do GIF. Como os arquivos GIF, os arquivos PNG são compactados sem perda de informações. Os arquivos PNG podem armazenar cores com 8, 24 ou 48 bits por pixel e escalas de cinza com 1, 2, 4, 8 ou 16 bits por pixel. Em contraste, 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 do plano de fundo.

PNG melhora 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 através de uma conexão de rede. Os arquivos PNG podem conter informações de correção de gama e cor para que as imagens possam ser renderizadas com precisão em uma variedade de dispositivos de exibição.

Tag Image File Format (TIFF)

O TIFF é um formato flexível e extensível que é suportado por uma grande variedade de plataformas e aplicações de processamento de imagem. Os arquivos TIFF podem armazenar imagens com um número arbitrário de bits por pixel e podem empregar uma variedade de algoritmos de compressão. Várias imagens podem ser armazenadas em um único arquivo TIFF de várias páginas. As informações relacionadas à imagem (marca do scanner, computador host, tipo de compressão, orientação, amostras por pixel, etc.) podem ser armazenadas no arquivo e organizadas através do uso de tags. O formato TIFF pode ser estendido conforme necessário pela aprovação e adição de novas tags.