O que há dentro de um arquivo BMP
BMP, abreviação de bitmap, é o formato de imagem que o Windows usa desde as primeiras versões. É praticamente o arquivo de imagem mais simples possível: uma breve descrição da imagem seguida da cor de cada pixel, um após o outro.
Cabeçalho, paleta, pixels
Um BMP começa com um cabeçalho de arquivo de 14 bytes e um cabeçalho de informações que registra a largura, a altura e a profundidade de cor. Imagens com 256 cores ou menos listam em seguida suas cores em uma paleta. Depois vêm os pixels, linha por linha, geralmente começando pela linha de baixo da imagem e subindo.
Profundidade de bits
A profundidade de bits define quantas cores cabem em um pixel. Bitmaps de 1 bit são em preto e branco, os de 4 bits têm 16 cores, os de 8 bits, 256, e os arquivos de 24 bits comportam 16,7 milhões. Um BMP de 32 bits acrescenta um quarto byte, que alguns programas usam para transparência e outros deixam como preenchimento.
Por que o BMP ainda existe
Por ser tão simples, o BMP é fácil de gravar para qualquer programa ou dispositivo. Jogos antigos, utilitários do Windows, editores de sprites e displays embarcados ainda o geram, e é por isso que converter BMP para PNG continua sendo uma tarefa comum.
Por que arquivos BMP são tão grandes
A maioria dos BMPs não tem compressão nenhuma. O tamanho do arquivo é simplesmente largura × altura × bytes por pixel, mais um pouco de preenchimento.
A conta
Uma captura de tela Full HD tem 1920 × 1080 pixels. Em 24 bits, são 3 bytes por pixel, ou cerca de 6,2 MB, não importa se a tela mostrava uma foto cheia de detalhes ou uma página em branco. A mesma captura em PNG costuma ter algumas centenas de kilobytes.
Preenchimento das linhas
Cada linha de pixels é completada até um múltiplo de 4 bytes. Isso pouco acrescenta em imagens grandes, mas mostra como o BMP armazena a imagem ao pé da letra: byte por byte, sem nenhuma tentativa de economizar espaço.
BMPs comprimidos existem, mas são raros
O formato permite uma compressão simples do tipo run-length em imagens de 4 e 8 bits, que ajuda em grandes áreas de cor lisa. A maioria dos programas a ignora, e bitmaps de 24 bits nem podem usá-la.
Converter BMP para PNG elimina esse desperdício sem tocar em um único pixel, e é por isso que o PNG costuma ser 80–95% menor. A lista de resultados mostra a economia exata de cada arquivo.
Como converter BMP para PNG em 3 passos
Solte seus arquivos BMP
Arraste um ou mais arquivos .bmp para a área tracejada ou clique para procurar. Cada arquivo é lido no seu navegador; nada é enviado.
Mantenha PNG selecionado
O PNG é o padrão e não tem perdas. Se os seus bitmaps são sprites desenhados sobre magenta puro, marque "Tornar o magenta (#FF00FF) transparente".
Baixe os arquivos PNG
Clique em Baixar ao lado de um arquivo, ou em Baixar tudo como ZIP. Cada resultado mostra a profundidade de bits do bitmap e quanto o PNG ficou menor.
Solte um ou mais arquivos BMP.
Mantenha PNG; ative a opção de magenta para sprites.
Baixe cada PNG ou todos juntos em um ZIP.
BMP para PNG é sem perdas — entenda por quê
O PNG comprime sem descartar nada. Ele procura repetições, como uma sequência de pixels idênticos ou um padrão que se repete, e as armazena uma única vez.
Mesmos pixels, arquivo menor
Um BMP convertido em PNG é decodificado exatamente com os mesmos pixels do bitmap original. Cores, bordas e texto continuam idênticos, o que importa em capturas de tela, mockups de interface e pixel art, em que um único pixel alterado fica visível.
Bitmaps com paleta continuam com paleta
Bitmaps de 1, 4 e 8 bits usam uma paleta de no máximo 256 cores. Este conversor também os salva como PNGs com paleta, com um byte por pixel, em vez de expandi-los para cores completas. Assim o PNG fica o menor possível.
E os bitmaps de 32 bits?
Quando um BMP de 32 bits declara um canal de transparência e o seu navegador o lê, o PNG mantém a transparência. Muitos programas, porém, gravam o quarto byte como simples preenchimento, e aí o bitmap é simplesmente opaco.
Fundos magenta: transformando #FF00FF em transparência de verdade
Arquivos BMP de jogos, emuladores e antigas barras de ferramentas do Windows costumam exibir um fundo rosa-choque. É de propósito: antes de os formatos com transparência se popularizarem, os desenvolvedores pintavam a área vazada de magenta puro, uma cor quase nunca usada nas artes, e instruíam o programa a ignorá-la.
Um clique para um PNG transparente
Marque "Tornar o magenta (#FF00FF) transparente" e cada pixel exatamente dessa cor fica transparente no PNG. A lista de resultados conta quantos pixels foram alterados, para você confirmar que funcionou.
Só a cor exata
Apenas o #FF00FF puro é substituído. Tons quase magenta, como bordas suavizadas por anti-aliasing, ficam como estão, então a opção nunca invade a própria arte.
Alguns jogos usavam outra cor-chave, como verde puro ou preto. Esta opção cuida do magenta, de longe a escolha mais comum; outras cores-chave é melhor remover em um editor de imagens.
BMP x PNG: comparação rápida
| BMP | PNG | |
|---|---|---|
| Compressão | Geralmente nenhuma | Sem perdas (Deflate) |
| Tamanho típico de uma captura de tela | Vários megabytes | Algumas centenas de kilobytes |
| Transparência | Rara, com suporte irregular | Canal alfa completo |
| Abre em navegadores e apps | Quase sempre, mas raramente aceito por sites | Em qualquer lugar |
| Ideal para | Programas e dispositivos simples | Capturas de tela, ícones, gráficos, web |
Quando converter BMP para PNG é a escolha certa
O PNG é o substituto natural do BMP sempre que a imagem tem bordas nítidas, cores chapadas ou texto.
Ideal para PNG
- Capturas de tela e janelas de apps de ferramentas antigas do Windows.
- Ícones, cursores e pixel art.
- Diagramas, gráficos e logotipos.
- Sprite sheets e texturas de jogos, com a opção de magenta quando necessário.
Quando o JPG é melhor
Fotos e imagens digitalizadas contêm um ruído fino que a compressão sem perdas mal consegue reduzir. Para elas, BMP para JPG gera um arquivo muitas vezes menor, sem diferença visível.
Quando vale manter o BMP
Alguns dispositivos, telas de inicialização e displays de microcontroladores só aceitam BMP. Guarde o original para esses casos e use o PNG em todo o resto.
Depois de converter BMP para PNG
Para espremer ainda mais o PNG, passe-o pelo compressor de PNG. Para sites, PNG para WebP gera um arquivo ainda menor com a transparência intacta, e redimensionar imagem define dimensões exatas.
Para fotos, use BMP para JPG. Todos os outros pares de formatos estão listados no conversor de imagens.