O que é o formato de ficheiro BMP?
.bmp é um arquivo de imagem que armazena gráficos raster, desenvolvido pela Microsoft (com a IBM, para o OS/2). O formato BMP é quase sempre não compactado, portanto, imagens de alta resolução salvas como arquivos .bmp são maiores do que arquivos salvos em formatos comparáveis, como PNG ou JPEG. Existe a compactação opcional run-length encoding (RLE), mas é raramente usada.
O BMP é capaz de armazenar imagens em várias profundidades de cor:
- monocromático de 1 bit (apenas preto e branco),
- 4 bits (16 cores distintas),
- 8 bits (256 cores distintas),
- cores de 16 bits, 24 bits ou 32 bits (esta última adiciona um canal alfa para transparência).
Estrutura do arquivo
Cada arquivo .bmp possui uma seção de cabeçalho que contém informações sobre a profundidade de cor, tamanho do arquivo e deslocamento dos dados de pixel, seguida por uma matriz que representa os pixels do bitmap. As linhas são armazenadas de baixo para cima e preenchidas para limites de 4 bytes. Existem quatro versões de cabeçalho DIB - BITMAPCOREHEADER, BITMAPINFOHEADER, BITMAPV4HEADER e BITMAPV5HEADER - a última das quais adiciona perfis de cores ICC incorporados.
Segurança e proteção
RISCO: LOWO BMP contém dados de pixel simples sem scripts ou macros, portanto, o formato em si é de baixo risco. As únicas ressalvas: historicamente, alguns bugs de bibliotecas de imagem permitiam que cabeçalhos BMP malformados (dimensões declaradas enormes, sequências RLE inválidas) travassem ou causassem overflow em parsers, portanto, mantenha seu visualizador atualizado; e evite sites de «conversor de BMP gratuito» cheios de anúncios - use IrfanView, GIMP, ImageMagick ou Squoosh em vez disso.
Detalhes do formato
em resumoProgramas que abrem arquivos BMP
Detalhes técnicos
especificação profunda| Tipo MIME | image/bmp (também image/x-bmp, image/x-ms-bmp) |
| Magic bytes | 42 4D («BM») no deslocamento de byte 0 |
| Ordem dos bytes | Little-endian |
| Compactação | Normalmente nenhuma (BI_RGB); opcional BI_RLE8 e BI_RLE4 run-length encoding; raramente BI_BITFIELDS, BI_JPEG, BI_PNG |
| Profundidades de cor suportadas | 1, 4, 8, 16, 24 ou 32 bits por pixel |
| Armazenamento de linhas de pixel | De baixo para cima por padrão (última linha primeiro); valor de altura negativo sinaliza de cima para baixo; cada linha preenchida para um limite de 4 bytes |
| Cabeçalho do arquivo | BITMAPFILEHEADER - 14 bytes; contém a assinatura BM, tamanho total do arquivo e deslocamento dos dados de pixel |
| Versões de cabeçalho DIB | BITMAPCOREHEADER (12 bytes), BITMAPINFOHEADER (40 bytes), BITMAPV4HEADER (108 bytes), BITMAPV5HEADER (124 bytes); versão identificada pelo DWORD no deslocamento 0x0E |
| Canal alfa | Suportado no modo de 32 bits via BITMAPV4HEADER e BITMAPV5HEADER; não disponível em versões de cabeçalho de 24 bits ou anteriores |
| Dimensões máximas da imagem | Até ~2,1 bilhões de pixels por lado (int de 32 bits com sinal no BITMAPINFOHEADER); BITMAPCOREHEADER limita a 65.535 px por lado |
| Paleta de cores | Opcional; até 256 entradas RGBQUAD usadas para modos indexados (1, 4, 8 bpp) |
| Perfil de cor ICC | Suporte a perfil ICC incorporado adicionado no BITMAPV5HEADER (Windows 98/2000); cabeçalhos anteriores não carregam metadados de espaço de cor |
| Extensão alternativa | .dib (Device Independent Bitmap) - formato idêntico, usado de forma intercambiável no Windows |
| Variantes OS/2 | Arquivos OS/2 Bitmap Array usam assinaturas mágicas alternativas: BA, CI, CP, IC, PT |
| Lançado | 1985-1990 (Windows 1.0/2.0; OS/2 1.x); BITMAPINFOHEADER form with Windows 3.0 (1990) |
| Versão mais recente | BITMAPV5HEADER (Windows 98/2000, 1998) - adds ICC color profiles |
| Padrão aberto | Sim · livre de royalties |
| Especificação | learn.microsoft.com |
Conversões de BMP
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos BMP.