O presente artigo centra-se sobre as características das imagens do tipo bitmap.
Ao efectuar o armazenamento das imagens em suportes informáticos, levantam-se diversas questões, a maior parte das quais relacionadas com as diferenças básicas existentes entre bitmaps e vectores.
Com efeito, existe uma grande variedade de formatos de armazenamento, para ambos os tipos de imagem. A tabela seguinte mostra os principais formatos, com indicação das respectivas extensões:
Extensão | Designação do formato |
.BMP | Bitmaps do Windows ou OS/2 |
.CPT | CorelPHOTO-PAINT |
.DIB | Windows ou OS/2 DIB |
.EXR | Extended Dynamic Range Image File Format |
.FPX | Kodak FlashPix |
.GIF | Compuserve Graphics Interchange |
.IFF, .ILBM | Interchange file format / Interleave bitmap |
.JPG, .JIP, .JPEG | Bitmap JPEG (Joint Photographers Experts Group) |
.JPG2, .JP2 | Bitmap JPEG2000 |
.KDC | Kodak Digital Camera |
.MAC | MacPaint |
.MNG | Multiple-image Network Graphics |
.MSP | Microsoft Paint |
.PCD | Kodak Photo CD |
.PCT | Macintosh PICT |
.PCX | Zsoft Paintbrush |
.PNG | Portable Network Graphics |
.PSD, .PPD | Adobe Photoshop |
.PSP | Paint Shop Pro |
.PXR | Pixar |
.RAS | Sun Raster Image |
.RAW | formato RAW |
.RLE | Windows ou Compuserve RLE |
.SCT, .CT | Scitex Continuous Tone |
.SGI, .RGB | Silicon Graphics Image |
.TGA | Truevision Targa |
.TIFF, .TIF | Tagged Information File |
.WBMP | Wireless Application Procol Bitmap Format |
.XBM | X BitMap |
No que diz respeito a estes formatos, podemos definir grandes áreas de utilização, as quais são contempladas por formatos específicos.
Essas áreas são:
- Imagens bitmap utilizadas profissionalmente, as quais exigem formatos de elevada capacidade técnica – TIF, PSD e RAW como melhores exemplos. Os formatos RAW (no plural, dado que as suas características variam um pouco de fabricante para fabricante, surgem em contextos associados à fotografia digital, estando disponíveis apenas em modelos de câmaras fotográficas digitais mais avançados. Pelo facto de armazenarem em estado puro toda a informação visual captada pela câmara, sem qualquer processamento ou compressão, constituem os melhores formatos para captura de imagem. Outra das características que os diferencia dos restantes formatos bitmap é o facto de a captura de imagem ser normalmente efectuada com uma profundidade de cor de 36 bits, o que garante o suporte de 68.719.476.735 cores (comparadas com os 16 milhões de cores suportadas pelos formatos TIF e JPG, por exemplo).Esta grande profundidade de cor, fornece logo à partida uma gama tonal extremamente vasta, que permite o processamento avançado das imagens, com flexibilidade suficiente para a realização de múltiplos ajustes (de cor, de compensação da exposição, etc.)
- Imagens bitmap utilizadas também em contextos de fotografia digital, mas sem exigências de natureza profissional. O formato de imagem de consumo corrente utilizado pela esmagadora maioria das máquinas fotográficas digitais é o JPG.
- Imagens bitmap utilizadas na Internet, meio no qual os formatos de ficheiros suportados (tendo em vista a compatibilidade alargada com os vários tipos de software de navegação e consulta de conteúdos) se restringem ao JPG, ao GIF e ao PNG.
- Imagens bitmap utilizadas ao nível das aplicações e dos sistemas operativos (imagens BMP e JPG utilizadas como elementos decorativos, ou como parte integrante de elementos do interface).
É relativamente aos formatos bitmap que surge a questão da compactação de informação. Dadas as características das imagens bitmap (simplificando, pontinhos coloridos no écran), é fácil concluir que imagens grandes e com muitas cores exigem um grande espaço de armazenamento.
Tomando como exemplo uma imagem de 640*480 pixéis com 16 milhões de cores:
- Uma área de 640*480 pixéis são 307.200 pixéis
- Cada pixel precisa de 3 bytes para a informação de cor (24 bits por pixel para os 16 milhões de cores são 3 bytes).
- A imagem ocupa 307.200*3 bytes, ou 921.600 bytes, ou 900 KB.
Uma imagem destas dimensões é pequena. Se pensarmos que a fotografia digital de nível profissional pode facilmente alcançar valores na ordem das dezenas de megapixéis (por exemplo, 12 megapixéis são mais de 12 milhões de pixéis…), facilmente compreendemos que uma imagem do tipo bitmap pode ocupar dezenas ou mesmo centenas de megabytes de espaço de armazenamento.
Outros contextos de utilização de imagens do tipo bitmap exigem dimensões muito maiores. Na área dos GIS (Geographic Information Systems) são muitas vezes utilizadas imagens de elevada resolução e de elevado detalhe, para retratar uma determinada zona geográfica. Veja-se o seguinte exemplo:
Imagem bitmap de elevadas dimensões (14.173*9.449 pixéis), forçosamente reduzida para impressão. Trata-se de uma fotografia aérea da zona costeira do estuário do rio Tejo, entre a foz do rio Jamor e o farol da Guia, em Cascais. O ficheiro desta imagem ocupa 383 MB. As possibilidades de ampliação são demonstradas mais à frente:
A zona ampliada em cima, correspondente à Marina de Cascais.
A necessidade de poupar espaço, levou à utilização de técnicas de compactação, as quais reduzem as dimensões das imagens, sob o ponto de vista do armazenamento. Dependendo do formato, podem ser utilizados tipos de compactação diferentes (caso dos ficheiros TIF), podem ser permitidos graus de compactação variáveis (caso dos ficheiros JPG) ou podem ser desligadas as funções de compactação (TIF).
Caixa de diálogo com opções de gravação de uma imagem bitmap no formato JPG, activada dentro do programa Adobe Photoshop CS3. O grau de compactação é seleccionável, o que permite criar ficheiros maiores (com pouca compactação e mais qualidade) ou mais pequenos (com muita compactação e menos qualidade).
Há vários algoritmos de compressão:
- Os algoritmos mais eficientes são também os que não garantem a preservação total da integridade da imagem. Praticam um tipo de compressão denominado com percas, no qual são removidos da imagem pixéis cuja ausência não afecta o seu aspecto geral. No entanto, a informação que é removida desta maneira já não pode ser recuperada. Um dos formatos bitmap mais utilizados, o JPG, pratica este tipo de compressão.
- Os algoritmos de compactação que não perdem informação são menos eficientes. No entanto, garantem que todos os pixéis permanecem na imagem, sem percas. Formatos como o TIF e o GIF praticam este tipo de compressão.
O tipo de algoritmo determina as regras utilizadas para fazer a compactação. Por exemplo, em vez de se armazenar informação sobre cada um de 100 pixéis pretos, identifica-se apenas um grupo de 100 pixéis pretos. Numa imagem com cor a 24 bits (3 bytes) este exemplo pode significar uma redução de 300 bytes (100 pixéis * 3 bytes de cor) para apenas 4 (um byte para armazenar o número 100 e os restantes para a cor).
Daqui resulta a conclusão que nem todas as imagens são boas candidatas à compactação. Fotografias com uma grande profusão de cores, em manchas muito irregulares, são forçosamente menos compactadas que imagens mais simples a preto e branco, ou com manchas uniformes de uma só cor. As três imagens seguintes ilustram os efeitos da compressão:
Imagem gravada no programa Photoshop em formato JPG, com nível de qualidade = 0 (o mais baixo). A quantidade de artefactos (impurezas) dificulta muito a legibilidade da imagem.
A imagem gravada no mesmo programa e no mesmo formato, com nível de qualidade = 6. Os artefactos notam-se sobretudo nos contornos.
Imagem gravada no formato TIF, sem compressão. Não se registam artefactos.
Nem todos os formatos são adequados para todo o tipo de imagens. Para além da questão óbvia da perca de informação inerente a alguns formatos (como o JPG), também existem diferenças quanto à forma como a cor é processada.
Há que escolher o formato de acordo com a quantidade de cores e o objectivo final da imagem:
- Imagens puramente a preto e branco, podem ser armazenadas em formatos que permitam escolher a quantidade de bits de informação de cor por pixel, tendo em vista reduzir o espaço que ocupam. Por exemplo, os formatos TIF, BMP e GIF.
- Se as imagens tiverem um máximo de 256 cores, pode ser utilizado o formato GIF. De acordo com a quantidade de cores, pode ser variado o número de bits por pixel.
- Para imagens com maior quantidade de cores, há que utilizar os formatos que permitem armazenar 16 milhões de cores (ou mais): JPG (com perca de informação), TIF (com excelente qualidade de armazenamento) ou PSD do programa Photoshop (um dos formatos gráficos mais evoluídos actualmente existentes).
- Imagens criadas para publicação em ambientes web, têm que ser gravadas obrigatoriamente em um de três formatos: GIF (para logótipos, ilustrações simples, manchas de cor uniforme), JPG (para imagens de natureza fotográfica) ou PNG (para ambos os tipos de imagens).
Uma das grandes diferenças entre formatos bitmap e vectoriais, reside no facto de nestes últimos ser possível aceder facilmente a cada um dos elementos gráficos que façam parte da imagem. Um formato vectorial é assim uma reunião de formas, onde cada uma pode ser manipulada individualmente, alterada e colorida sem afectar as restantes. Tradicionalmente, os formatos bitmap não permitem fazer isto, lidando apenas com manchas de pontos que são pintados no ecrã. No entanto, os formatos bitmap mais avançados já permitem adicionar alguma independência às várias formas que constituam uma imagem. Se bem que isso não seja possível em todos os casos (é difícil manipular uma fotografia desta maneira, por exemplo), tal funcionalidade permite manipular as imagens de maneiras muito poderosas e complexas.
Estamos a falar da capacidade de trabalhar uma imagem por camadas:
- Cada camada é independente das restantes, alterações no seu conteúdo não afectam o conteúdo das outras.
- Uma camada pode ser ligada ou desligada, o que permite mostrar e esconder zonas seleccionadas da imagem.
- Por omissão, a totalidade das camadas é visível ao mesmo tempo, mostrando assim uma imagem única e indivisível. Podem ainda ser controlados graus de transparência, para obter efeitos na sobreposição.
Os programas de processamento de imagem mais avançados, que suportam a edição de imagem em camadas, oferecem uma vasta gama de opções no que diz respeito à manipulação do conteúdo de cada camada e à forma como elas interagem entre si. As duas imagens seguintes mostram alguma da funcionalidade básica inerente à utilização de camadas:
Estas duas imagens apresentam um exemplo de sobreposição de camadas. O interface de apresentação e controlo é o do programa Photoshop CS3.
Na imagem da esquerda, com todas as camadas visíveis, o globo terrestre surge completo. Por debaixo do globo situa-se a zona de controlo de apresentação de camadas (separador Layers). As camadas que estiverem activas são identificadas com um pequeno olho no quadrado que as antecede (ver destaque). Cada camada tem um nome próprio, pode ter um determinado grau de transparência e pode actuar como uma camada de efeitos, que interage com a camada que fica imediatamente abaixo.
Na imagem da direita, foram desligadas três camadas (o símbolo do olho já não as antecede). A zona da imagem que lhes corresponde é escondida, ficando visível apenas a camada do fundo (Background). Em branco ficam os espaços correspondentes à Península Ibérica, a África e ao suporte do globo.
A manipulação de camadas permite obter resultados muito flexíveis, deixando armazenar dentro de um único ficheiro uma quantidade de elementos visuais variáveis, que se ligam e desligam consoante as necessidades.
A imagem seguinte mostra as opções disponíveis no programa Adobe Photoshop CS3 para aplicar a uma camada:
Caixa de diálogo para definição de estilos de camadas no programa Adobe Photoshop CS3. A gama de opções disponíveis é vasta: efeitos pré-construídos, selecção de misturas em função de determinadas cores, selecção fina em função de canais de cores (vermelho, verde ou azul), etc. A utilização cuidada destes efeitos pode alterar a forma como a imagem é composta.
Termino mais uma vez o artigo agradecendo ao meu colega e amigo João Amado, sem o qual este não seria possível.