Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

13/08/2015 Formato de arquivo BMP ­ Wikipédia, a enciclopédia livre
https://en.wikipedia.org/wiki/BMP_file_format 1/14
Windows Bitmap
Extensão do arquivo .bmp , .dib
Tipo de mídia Internet image / bmp, [ 1 ]
image / x‐bmp
Código de tipo "BMP" 
'BMPf' 
'BMPp'
Uniforme Tipo Identifier
(UTI)
com.microsoft.bmp
Tipo de formato Raster
Formato aberto ? OSP para WMF
Formato de arquivo BMP
Da Wikipédia, a enciclopédia livre
O formato de arquivo BMP , também conhecido como arquivo de
imagem bitmap ou bitmap independente de dispositivo formato de
arquivo (DIB) ou simplesmente um bitmap , é um raster formato de
arquivo de imagem usado para armazenar bitmap imagens digitais ,
independentemente do dispositivo de exibição (como um adaptador
gráfico ), especialmente em Microsoft Windows [ 2 ] e OS / 2 [ 3 ] sistemas
operacionais.
O formato de arquivo BMP é capaz de armazenar bidimensionais imagens
digitais de arbitrária largura, altura e resolução, tanto monocromáticos e
em cores, em várias profundidades de cor e, opcionalmente, com
compressão de dados , canais alfa , e perfis de cores . O Windows Metafile
especificação (WMF) cobre o formato de arquivo BMP. [ 4 ] Entre outros
wingdi.h define constantes e estruturas BMP.
Conteúdo
1 bitmaps independentes de dispositivo eo formato de arquivo BMP
2 Estrutura de arquivo
2.1 DIBs na memória
2,2 cabeçalho do arquivo Bitmap
2,3 cabeçalho DIB (cabeçalho informações bitmap)
2.4 Tabela de cores
2.5 armazenamento Pixel
2.5.1 matriz Pixel (dados de bitmap)
2.5.2 Compressão
2.5.3 formato Pixel
2.6 RGB subtipos de vídeo
2.7 Exemplo 1
2.8 Exemplo 2
3 Uso de formato BMP
4 formatos relacionados
5 Referências
6 Ligações externas
Bitmaps independentes de dispositivo e do formato de arquivo BMP
Microsoft definiu uma representação particular de bitmaps de cor de
diferentes profundidades de cor, como uma ajuda para a troca de
bitmaps entre dispositivos e aplicações com uma variedade de
representações internas. Eles chamaram esses bitmaps ou DIBs
independentes de dispositivo, eo formato de arquivo para eles é
chamado de formato de arquivo DIB ou formato de arquivo de
imagem BMP.
De acordo com o suporte da Microsoft: [ 5 ]
Um bitmap independente de dispositivo (DIB) é um formato
usado para definir bitmaps independentes de dispositivo em
várias resoluções de cor. O principal objetivo do DIBs é
permitir bitmaps para ser transferido de um dispositivo para
outro (daí, a parte independente do dispositivo do nome). Um
DIB é um formato externo, em contraste com um mapa de bits
dependentes do dispositivo, que aparece no sistema como um
13/08/2015 Formato de arquivo BMP ­ Wikipédia, a enciclopédia livre
https://en.wikipedia.org/wiki/BMP_file_format 2/14
Diagrama 1 ­ A estrutura do arquivo de imagem bitmap
objecto de mapa de bits (criado por uma aplicação ...). Um
DIB é normalmente transportado em metarquivos (geralmente
utilizando os StretchDIBits () função), arquivos BMP, ea Área
de Transferência (formato de dados CF_DIB).
As seções seguintes abordam os dados armazenados no arquivo BMP
ou DIB em detalhe. Este é o formato de arquivo BMP padrão. [ 5 ]
Alguns aplicativos criam arquivos de imagem bitmap que não são
compatíveis com a documentação da Microsoft. Além disso, nem
todos os campos são utilizados; um valor de 0 será encontrada nesses
campos não utilizados.
Estrutura de arquivos
O arquivo de imagem bitmap consiste em estruturas de tamanho fixo
(cabeçalhos), bem como estruturas de tamanho variável que
aparecem em uma seqüência predeterminada. Muitas versões
diferentes de algumas destas estruturas podem aparecer no arquivo,
devido à longa evolução deste formato de arquivo.
Referindo­se ao esquema 1, o arquivo de mapa de bits é composta de
estruturas na seguinte ordem:
13/08/2015 Formato de arquivo BMP ­ Wikipédia, a enciclopédia livre
https://en.wikipedia.org/wiki/BMP_file_format 3/14
Nome
Estrutura Opcional Tamanho Propósito Comentários
Cabeçalho
do
arquivo
Bitmap
Não 14 bytes
Para armazenar
informações gerais sobre o
arquivo de imagem bitmap
Não é necessário depois que o arquivo é carregado na
memória
Cabeçalho
DIB Não
De
tamanho
fixo 
(existem
sete
versões
diferentes)
Para armazenar
informações detalhadas
sobre a imagem bitmap e
definir o formato do pixel
Segue­se imediatamente o cabeçalho do arquivo Bitmap
Máscaras
de bits
extras
Sim
3 ou 4
DWORDs
[ 6 ]
(a 12 ou
16 bytes)
Para definir o formato de
pixel
Presente apenas no caso de o cabeçalho DIB é o
BITMAPINFOHEADER
Tabela de
cores
Semi­
opcional
­Size
variável
Para definir cores usadas
pelos dados da imagem
bitmap (array Pixel)
Obrigatória para profundidades de cor ≤ 8 bits
Gap1 Sim ­Sizevariável Alinhamento estrutura
Um artefato do Arquivo compensar a matriz Pixel no
cabeçalho do arquivo Bitmap
Matriz de
pixel Não
­Size
variável
Para definir os valores reais
dos pixels
O formato de pixel é definido pelo cabeçalho DIB ou
máscaras de bits extra. Cada linha da matriz Pixel é
acolchoada para um múltiplo de 4 bytes de tamanho
Gap2 Sim ­Sizevariável Alinhamento estrutura
Um artefato dos dados de perfil ICC campo de
deslocamento no cabeçalho DIB
ICC perfil
de cor Sim
­Size
variável
Para definir o perfil de cor
para o gerenciamento de
cores
Também pode conter um caminho para um arquivo externo
que contém o perfil de cor. Quando carregado na memória
como "DIB não­embalado", está localizado entre a tabela de
cor e Gap1. [ 7 ]
DIBs na memória
Um arquivo de imagem bitmap carregado na memória torna­se uma estrutura de dados DIB ­ um componente importante da
API do Windows GDI. A estrutura de dados em memória DIB é quase o mesmo que o formato BMP, mas que não contém o
14­byte de cabeçalho do ficheiro de mapa de bits e começa com o cabeçalho DIB. Para DIBs carregados na memória, a
tabela de cores também pode ser constituída por entradas de 16 bits que constituem índices para a paleta atualmente percebi 
[ 8 ] (um nível adicional de falta de direção), em vez de definições de cores RGB explícitas. Em todos os casos, a matriz de
pixel deve começar a uma endereço de memória que é um múltiplo de 4 bytes. Em DIBs não embalados carregados na
memória, os dados do perfil de cor opcional deve ser localizado imediatamente após a tabela de cores e antes do gap1 e de
pixel matriz [ 7 ] (ao contrário de diag. 1).
Quando o tamanho de gap1 e gap2 é zero, a estrutura na memória de dados do DIB é habitualmente referido como "DIB
embalado" e pode ser referida por um único apontador aponta para o início do cabeçalho de DIB. Em todos os casos, a matriz
de pixel deve começar a uma endereço de memória que é um múltiplo de 4 bytes. Em alguns casos, pode ser necessário
ajustar o número de entradas na tabela de cores, a fim de forçar o endereço de memória da matriz de pixels a um múltiplo de
4 bytes. [ 8 ] Por "embalados" DIB carregados na memória, a cor opcional dados de perfil deve seguir imediatamente a matriz
de pixels, como representado na fig. 1 (com gap1 = 0 e gap2 = 0). [ 7 ]
"Refeições DIBs" são obrigados por do Windows funções da API do clipboard, bem como por alguns do Windows modelado
funções da escova e de recursos. [ 9 ]
Cabeçalho do arquivo Bitmap
13/08/2015 Formato de arquivo BMP ­ Wikipédia, a enciclopédia livre
https://en.wikipedia.org/wiki/BMP_file_format 4/14
Este bloco de bytes está no início do processo e é usado para identificar o ficheiro. Uma aplicação típica lê este bloco
primeiro para garantir que o arquivo é realmente um arquivo BMP e que não está danificado. Os dois primeiros bytes do
formato de arquivo BMP é o personagem "B", em seguida, o personagem "M" em ASCII codificação. Todos os valores
inteiros são armazenados em pouco endian formato (isto é, byte menos significativoem primeiro lugar).
Hex
offset
Deslocamento
dezembro Tamanho Propósito
00 0 2 bytes
O campo de cabeçalho usado para identificar o arquivo BMP e DIB é 0x42 0x4D em
hexadecimal , mesmo que BM em ASCII. As seguintes entradas são possíveis:
BM Windows 3.1x, 95, NT, etc ... ­
BA ­ OS / 2 struct matriz bitmap
CI ­ OS ícone de cor / 2 struct
CP ­ OS / 2 const ponteiro de cor
IC ­ OS / 2 ícone struct
PT ­ OS / 2 ponteiro
02 2 4 bytes O tamanho do ficheiro BMP em bytes
06 6 2 bytes Reservado; valor real depende do aplicativo que cria a imagem
08 8 2 bytes Reservado; valor real depende do aplicativo que cria a imagem
0A 10 4 bytes O deslocamento, ou seja, endereço de partida, do byte, onde os dados de imagem bitmap(conjunto de pixels) pode ser encontrado.
Cabeçalho DIB (cabeçalho informações bitmap)
Este bloco de bytes conta as informações detalhadas sobre a aplicação da imagem, que vai ser utilizado para exibir a imagem
no ecrã. O bloco também coincide com o cabeçalho usado internamente pelo Windows e OS / 2 e tem diversas variantes
diferentes. Todos eles contêm um campo DWORD (32 bits), que especifica o seu tamanho, de modo a que uma aplicação
pode facilmente determinar quais cabeçalho é usado na imagem. A razão pela qual existem diferentes cabeçalhos é que a
Microsoft estendeu o formato DIB várias vezes. Os novos cabeçalhos prolongados pode ser usado com algumas funções GDI
em vez de os mais velhos, oferecendo mais funcionalidades. Desde o GDI suporta uma função para arquivos de bitmap de
carga, aplicações típicas do Windows usam essa funcionalidade. Uma consequência disto é que para essas aplicações, os
formatos BMP que apoiam coincidir com os formatos suportados pela versão do Windows sendo executado. Consulte a
tabela abaixo para obter mais informações.
13/08/2015 Formato de arquivo BMP ­ Wikipédia, a enciclopédia livre
https://en.wikipedia.org/wiki/BMP_file_format 5/14
Offset
(hex)
Offset
(dec)
Tamanho
(bytes)
OS / 2 1.x
BITMAPCOREHEADER
[ 3 ]
0E 14 4 O tamanho deste cabeçalho(12 bytes)
12 18 2
A largura de bitmap em
pixels (não assinado de 16
bits)
14 20 2 A altura bitmap em pixels(não assinado de 16 bits)
16 22 2 O número de planos decores, deve ser 1
18 24 2 O número de bits por pixel
OS / 2 1.x bitmaps são
descompactados e não
pode ser de 16 ou 32 bpp
/ 2 cabeçalhos de bitmap do Windows e OS
Tamanho Nome do cabeçalho Suporte OS Características Escritopor
12 BITMAPCOREHEADER OS21XBITMAPHEADER
Windows 2.0 ou posterior OS / 2 1.x [3]
64 OS22XBITMAPHEADER OS / 2 BITMAPCOREHEADER2
Adiciona meio­
tom . Adiciona
RLE e Huffman
1D compressão.
40 BITMAPINFOHEADER Windows NT , 3.1x ou mais tarde [ 2 ]
Adiciona 16
bpp e 32 bpp
formatos.
Adiciona
compressão
RLE.
52 BITMAPV2INFOHEADER Ilegal
Adiciona RGB
máscaras de
bits.
Adobe
Photoshop
56 BITMAPV3INFOHEADER
Não oficialmente documentado, mas esta
documentação foi postada fóruns da Adobe, por um
funcionário da Adobe com uma declaração de que a
norma estava em um ponto no passado incluídas na
documentação oficial do MS
https://forums.adobe.com/message/3272950#3272950
Adiciona canal
alfa máscara de
bits.
Adobe
Photoshop
108 BITMAPV4HEADER Windows NT 4.0 , 95 ou mais tarde
Adiciona tipo
de espaço de
cor e correção
de gama
124 BITMAPV5HEADER Windows NT 5.0 , 98 ou mais tarde Adiciona perfisde cores ICC
Versões após BITMAPCOREHEADER só adicionar campos para o
final do cabeçalho da versão anterior. Por exemplo:
BITMAPV2INFOHEADER adiciona campos para
BITMAPINFOHEADER e BITMAPV3INFOHEADER adiciona
campos para BITMAPV2INFOHEADER.
Um canal alfa integrada foi introduzida com o
BITMAPV3INFOHEADER não documentada e com a
BITMAPV4HEADER documentado (desde o Windows 95 ) e é
usada dentro de Windows XP logon e sistema de tema, bem como
Microsoft Office (desde v2000); ele é suportado por alguns de edição
de imagem de software, como Adobe Photoshop desde a versão 7 e
Adobe Flash a partir da versão MX 2004 (então conhecida como
Macromedia Flash). Ele também é apoiado pelo GIMP , Google
Chrome , Microsoft PowerPoint e Microsoft Word .
Por razões de compatibilidade, a maioria dos aplicativos usar os
cabeçalhos DIB mais velhos para salvar arquivos. Com OS / 2 não
mais suportado após Windows 2000, pois agora o formato comum do
Windows é o cabeçalho BITMAPINFOHEADER. Ver próxima mesa
para sua descrição. Todos os valores são armazenados como números inteiros sem sinal, a menos que indicado
explicitamente.
13/08/2015 Formato de arquivo BMP ­ Wikipédia, a enciclopédia livre
https://en.wikipedia.org/wiki/BMP_file_format 6/14
Offset
(hex)
Offset
(dec)
Tamanho
(bytes) Janelas BITMAPINFOHEADER 
[ 2 ]
0E 14 4 o tamanho deste cabeçalho (40 bytes)
12 18 4 a largura de bitmap em pixels (inteiro assinado)
16 22 4 a altura bitmap em pixels (inteiro assinado)
1A 26 2 o número de planos de cores deve ser 1
1C 28 2 o número de bits por pixel, a qual é a intensidade de cor da imagem. Os valores típicos sãode 1, 4, 8, 16, 24 e 32.
1E 30 4 o método de compressão a ser utilizado. Consulte a tabela seguinte para obter uma lista devalores possíveis
22 34 4 o tamanho de imagem. Este é o tamanho dos dados de mapa de bits em bruto; ummanequim 0 pode ser dada para bitmaps BI_RGB.
26 38 4 a resolução horizontal da imagem. (Pixel por metro, inteiro assinado)
2A 42 4 a resolução vertical da imagem. (Pixel por metro, inteiro assinado)
2E 46 4 o número de cores na paleta de cores, ou 0 para o padrão para 2 n
32 50 4 o número de cores usadas importantes, ou 0 quando cada cor é importante; geralmenteignorados
Um OS / 2 2.x OS22XBITMAPHEADER aka BITMAPCOREHEADER2 contém 24 bytes adicionais ainda não explicado
aqui. [ 3 ] O método de compressão (offset 30) pode ser:
Valor Identificado por Método de compressão Comentários
0 BI_RGB nenhum Mais comum
1 BI_RLE8 RLE 8 bits / pixel Pode ser usado apenas com bitmaps / de pixel de 8 bits
2 BI_RLE4 RLE 4 bits / pixel Pode ser usado apenas com bitmaps / pixels de 4 bits
3 BI_BITFIELDS OS22XBITMAPHEADER: 1D Huffman
BITMAPV2INFOHEADER: RGB máscaras de campo bit,
BITMAPV3INFOHEADER + : RGBA
4 BI_JPEG OS22XBITMAPHEADER: RLE­24
BITMAPV4INFOHEADER + : JPEG imagem para impressão
[ 10 ]
5 BI_PNG BITMAPV4INFOHEADER + : PNG imagem para impressão [ 10 ]
6 BI_ALPHABITFIELDS RGBA máscaras de campobit única Windows CE 5.0 com .NET 4.0 ou posterior
11 BI_CMYK nenhum única Windows Metafile CMYK [ 4 ]
12 BI_CMYKRLE8 RLE­8 única Windows Metafile CMYK
13 BI_CMYKRLE4 RLE­4 única Windows Metafile CMYK
Tabela de cores
A tabela de cores (paleta) ocorre no arquivo de imagem BMP diretamente após o cabeçalho do arquivo BMP, DIB o
cabeçalho (e depois de três opcionais bitmasks vermelho, verde e azul se o cabeçalho BITMAPINFOHEADER com opção
BI_BITFIELDS é usado). Por conseguinte, o seu deslocamento é o tamanho do BITMAPFILEHEADER mais o tamanho do
cabeçalho DIB (mais opcionais 12 bytes para os três máscaras de bits). Nota: No Windows CE BITMAPINFOHEADER o cabeçalho
pode ser utilizada com o BI_ALPHABITFIELDS [6] opção na biCompression membro.
O número de entradas na paleta é 2 ou N , ou um número menor especificada no cabeçalho (na / 2 formato do cabeçalho
BITMAPCOREHEADER SO, apenas a palete de tamanho completo é suportado). [ 3 ][ 5 ] Na maioria dos casos, cada entrada
na tabela de cor ocupa 4 bytes, no fim azul, verde, vermelho, 0x00 (veja abaixo para exceções). Este é indexado no
BITMAPINFOHEADER sob a função biBitCount.
13/08/2015 Formato de arquivo BMP ­ Wikipédia, a enciclopédia livre
https://en.wikipedia.org/wiki/BMP_file_format 7/14
A tabela de cores é um bloco de bytes (um quadro) listando as cores usadas pela imagem. Cada pixel de uma imagem de
cores indexadas é descrito por uma série de bits (1, 4, ou 8), que é um índicede uma única cor descrito por esta tabela. O
objectivo da paleta de cores em mapas de bits de cores indexadas é informar a aplicação sobre a cor real que cada um destes
valores de índice corresponde a. A finalidade da tabela de cores em (não­palettized) bitmaps não indexados é listar as cores
usadas pelo bitmap para fins de otimização de dispositivos com capacidade de exibição de cores limitada e para facilitar a
futura conversão para diferentes formatos de pixel e paletization.
As cores na tabela de cores são geralmente especificado no 4 bytes por entrada RGBA32 formato. A tabela de cores usado
com o OS / 2 BITMAPCOREHEADER usa a 3 bytes por entrada RGB24 formato. [ 3 ][ 5 ] Para DIBs carregados na memória,
a tabela de cores pode, opcionalmente, consistem em entradas de 2 bytes ­ essas entradas constituem índices para o paleta
realizado atualmente [ 8 ] , em vez de definições de cores RGB explícitas.
A Microsoft não proibir a presença de uma máscara de bit de canal alfa válida [ 11 ] em BITMAPV4HEADER e
BITMAPV5HEADER para 1bpp, 4bpp e 8bpp indexados imagens coloridas, o que indica que as entradas da tabela de cores
também pode especificar um componente alfa usando o 8.8.8. [ 0­8]. [0­8] formato através do RGBQUAD.rgbReserved [ 12 ]
membro. No entanto, algumas versões de documentação da Microsoft não permitir este recurso, afirmando que o membro
RGBQUAD.rgbReserved "deve ser zero".
Como mencionado acima, a tabela de cores, normalmente, não é utilizada quando os pixels são em 16 bits por pixel (16 bpp)
formato (e maior); normalmente não há entradas da tabela de cor nesses arquivos de imagem bitmap. No entanto, a
documentação da Microsoft (no site do MSDN a partir de 16 de novembro de 2010 [ 13 ] ) especifica que, para 16bpp (e
superior), a tabela de cores pode estar presente para armazenar uma lista de cores destina­se a otimização em dispositivos
com limitado capacidade de exibição de cor, ao mesmo tempo que especifica que, em tais casos, não há entradas paleta
indexados estão presentes nesta Tabela de cores. Isso pode parecer uma contradição, se não é feita qualquer distinção entre as
entradas paleta obrigatórias ea lista cor opcional.
Armazenamento Pixel
Os bits representam os pixels de bitmap são embalados em linhas. O tamanho de cada linha é arredondado para um múltiplo
de 4 bytes (um 32­bit DWORD ) por estofamento. 
Para imagens com altura> 1, várias linhas acolchoadas são armazenados consecutivamente, formando um conjunto de pixels.
O número total de bytes necessários para armazenar uma linha de pixels pode ser calculado como:
ImageWidth é expressa em pixels.
A quantidade total de bytes necessários para armazenar um conjunto de pixels de uma n bits de imagem por pixel (BPP),
com 2 n cores, pode ser calculada pela representando o efeito de arredondamento até o tamanho de cada linha a um múltiplo
de uma 4 bytes, como segue:
ImageHeight é expressa em pixels. O valor absoluto é necessário porque ImageHeight pode ser negativo
Matriz de pixels (dados de bitmap)
A matriz de pixels é um bloco de DWORDs 32 bits, que descreve a imagem de pixel por pixel. Normalmente pixels são
armazenados "cabeça para baixo" em relação à perpendicular imagem de exploração da retícula ordem, a partir do canto
inferior esquerdo, indo da esquerda para a direita, e em seguida, linha por linha a partir do fundo para o topo da imagem. [ 5 ]
A menos BITMAPCOREHEADER é usado, mapas de bits não compactados do Windows também podem ser armazenadas a
partir do topo para baixo, quando o valor da Altura da imagem é negativo.
No SO original / 2 DIB, os únicos quatro valores legais de profundidade de cor foram 1, 4, 8 e 24 bits por pixel (bpp). [ 5 ]
cabeçalhos Contemporânea DIB permitir formatos de pixel com 1, 2, 4, 8, 16, 24 e 32 bits por pixel (bpp). [ 14 ] GDI +
permite também que 64 bits por pixel. [ 15 ]
13/08/2015 Formato de arquivo BMP ­ Wikipédia, a enciclopédia livre
https://en.wikipedia.org/wiki/BMP_file_format 8/14
Bytes de enchimento (não necessariamente 0) deve ser acrescentado ao final das linhas, a fim de fazer aparecer o
comprimento das linhas para um múltiplo de quatro bytes. Quando o conjunto de pixels é carregado na memória, cada linha
deve começar em um endereço de memória que é um múltiplo de 4. Este endereço / restrição deslocamento é obrigatório
apenas para as matrizes Pixel carregados na memória. Para fins de armazenamento de arquivos, somente o tamanho de cada
linha deve ser um múltiplo de 4 bytes, enquanto o deslocamento do arquivo pode ser arbitrária. [ 5 ] Um bitmap de 24 bits
com Largura = 1, teria 3 bytes de dados por linha (azul, verde, vermelho) e 1 byte de preenchimento, enquanto Largura = 2
teria 2 bytes de preenchimento, Largura = 3 teria 3 bytes de preenchimento, e Largura = 4 não teria qualquer estofamento em
tudo.
Compressão
Indexadas imagens coloridas podem ser comprimidos com 4 bits ou 8 bits RLE ou Huffman algoritmo 1D.
OS / 2 BITMAPCOREHEADER2 24bpp imagens pode ser comprimido com o algoritmo RLE 24 bits.
Os 16bpp e 32bpp imagens são sempre armazenados descompactado.
Note­se que as imagens em todas as profundidades de cor pode ser armazenado sem compressão, se assim for
desejado.
Formato do pixel
Em um ficheiro de imagem de mapa de bits em uma de uma imagem de mapa de bits na memória de disco ou, os pixels
podem ser definidos por um número variável de bits.
O 1­bit por formato de pixel (1bpp) suporta duas cores distintas, (por exemplo: preto e branco). Os valores dos pixels
são armazenados em cada um pouco, com o primeiro (mais à esquerda) pixel no bit mais significativo do primeiro
byte. [ 5 ] Cada bit é um índice para uma tabela de duas cores. Um pouco unset irá se referir à primeira entrada da
tabela de cor, e um pouco conjunto vai se referir ao último (segunda) entrada de tabela de cores.
O 2 bits por pixel formato (2bpp) suporta 4 cores distintas e lojas de 4 pixels por 1 byte, o pixel mais à esquerda estar
nos dois bits mais significativos ( Windows CE apenas: [ 16 ] ). Cada valor de pixel é um índice de 2 bits para uma
tabela de até quatro cores.
O 4 bits por pixel formato (4bpp) suporta 16 cores distintas e armazena 2 pixels por 1 byte, o pixel mais à esquerda
estar no mais significativo mordidela . [ 5 ] Cada valor de pixel é um índice de 4 bits em uma tabela de até 16 cores.
A 8­bit por formato de pixel (8bpp) suporta 256 cores distintas e lojas de 1 pixel por 1 byte. Cada byte é um índice em
uma tabela de até 256 cores.
O 16 bits por pixel formato (16bpp) suporta 65.536 cores distintas e lojas de 1 pixel por palavra de 2 bytes. Cada
palavra pode definir os alfa, vermelho, verde e azul amostras de pixel.
O pixel formato 24­bit (24bpp) suporta 16.777.216 cores e lojas distintas valor 1 pixel por 3 bytes. Cada valor de pixel
define as amostras de vermelho, verde e azul do pixel (8.8.8.0.0 em notação RGBAX). Especificamente, na ordem:.
Azul, verde e vermelho (8 bits por cada amostra) [ 5 ]
A de 32 bits por pixel formato (32 bpp) 4294967296 suporta cores distintas e armazena 1 pixel por 4 bytes DWORD.
Cada DWORD pode definir as amostras alfa, vermelho, verde e azul do pixel.
A fim de resolver a ambigüidade de definir quais bits que amostras, os cabeçalhos DIB fornecer determinados padrões, bem
como bitfields específicos, que são máscaras de bits que definem a composição do grupo especial de bits em um pixel para
um determinado canal . O diagrama a seguir define esse mecanismo:
Diag. 2 ­ O mecanismo BitFields para um pixel de 32 bits representado na notação de comprimento de amostra RGBAX
Os campos das amostras definidas pelas máscaras de bits BitFields têm que ser contíguos e não sobreposta, mas a ordem dos
campos de exemplo é arbitrária. A ordem campo mais onipresente é: Alpha, Azul, Verde, Vermelho (MSB a LSB). As
máscaras de bits de vermelho, verde e azul são válidos somente quando o membro de compressão do cabeçalho DIB está13/08/2015 Formato de arquivo BMP ­ Wikipédia, a enciclopédia livre
https://en.wikipedia.org/wiki/BMP_file_format 9/14
Descompactado RGB Vídeo subtipos [ 17 ]
RGBAX RGB subtipo RGBAX ARGB subtipo
8.8.8.0.8 RGB32 8.8.8.8.0 ArgB32
10.10.10.2.0 A2R10G10B10
8.8.8.0.0 RGB24 10.10.10.2.0 A2B10G10R10
5.6.5.0.0 RGB565 4.4.4.4.0 ARGB4444
5.5.5.0.1 RGB555 5.5.5.1.0 ARGB1555
Bits Bits
Campos de bits para bits de dez RGB [ 17 ]
Campo de bits Compensar A2R10G10B10 A2B10G10R10
Vermelho 36h 00 00 F0 3F LE: 3FF00000 20 ... 29 03 00 00 FF LE: 000003FF  0 ...  9
Verde 3Ah 00 FC 0F 00 LE: 000FFC00 10 ... 19 00 FC 0F 00 LE: 000FFC00 10 ... 19
Azul 3Eh 03 00 00 FF LE: 000003FF  0 ...  9 00 00 F0 3F LE: 3FF00000 20 ... 29
Alfa 42h 00 00 00 C0 LE: C0000000 30 ... 31 00 00 00 C0 LE: C0000000 30 ... 31
definido para BI_BITFIELDS. A máscara de bits alfa é válido sempre que está presente no cabeçalho DIB ou quando o
elemento de compressão do cabeçalho DIB é definido como BI_ALPHABITFIELDS [ 6 ] ( Windows CE apenas).
Diag. 3 ­ O formato do pixel com um canal alfa para um pixel de 16 bits (em
RGBAX amostra Corpo notação) na verdade gerado pelo Adobe Photoshop 
[ 16 ]
Todos os possíveis formatos de pixel em um DIB
Subtipos de vídeo RGB
O campo de bits mecanismo descrito acima permite a definição de dezenas de milhares diferentes formatos de pixel, no
entanto, apenas alguns deles são utilizadas na prática, [ 16 ] todos os formatos palettized RGB8, RGB4, e RGB1 (marcado em
amarelo na tabela acima, DShow. h nomes MEDIASUBTYPE) e:
Na versão 2.1.4 FFmpeg suportado (em sua própria terminologia), a BMP formatos de pixel BGRA, bgr24, rgb565le,
rgb555le, rgb444le, RGB8, bgr8, rgb4_byte, bgr4_byte, cinzento, pal8, e monob ; ou seja, BGRA foi o formato do pixel
suportado apenas com transparência. [ 18 ]
Exemplo 1
Segue­se um exemplo de um 2 × 2 pixel, 24­bit bitmap (Windows DIB cabeçalho BITMAPINFOHEADER) com formato de
pixel RGB24.
13/08/2015 Formato de arquivo BMP ­ Wikipédia, a enciclopédia livre
https://en.wikipedia.org/wiki/BMP_file_format 10/14
Exemplo 1 de um
pixel bitmap 2 × 2,
com 24 bits /
codificação de pixels
Compensar Tamanho ValorHex Valor Descrição
BMP Header
0h 2 42
4D
"BM" Campo ID (42h, 4Dh)
2h 4
46
00
00
00
70 bytes (54 + 16) Tamanho do arquivo BMP
6h 2 00
00
Não usado Aplicação específica
8h 2 00
00
Não usado Aplicação específica
Ah 4
36
00
00
00
54 bytes (14 + 40) Deslocamento onde a matriz de pixel (mapa de bits dedados) podem ser encontrados
DIB Header
Eh 4
28
00
00
00
40 bytes Número de bytes de cabeçalho DIB (a partir deste ponto)
12h 4
02
00
00
00
2 pixels (esquerda
para a direita) Largura do bitmap em pixels
16h 4
02
00
00
00
2 pixels (inferiores
a ordem de cima)
Altura do bitmap em pixels. Positivo para baixo para fim
de pixel superior.
1Ah 2 01
00
1 avião Número de planos de cor a ser utilizada
1Cr 2 18
00
24 bits Número de bits por pixel
1Eh 4
00
00
00
00
0 BI_RGB, sem compressão matriz de pixel utilizados
22h 4
10
00
00
00
16 bytes
Tamanho dos dados de bitmap em bruto (incluindo
estofamento)
13/08/2015 Formato de arquivo BMP ­ Wikipédia, a enciclopédia livre
https://en.wikipedia.org/wiki/BMP_file_format 11/14
26h 4
13
0B
00
00
2835 pixels /
horizontal metros
A resolução de impressão da imagem, 72 DPI × 39,3701
polegadas por rendimentos metros 2834,6472
2Ah 4
13
0B
00
00
2835 pixels / metro
verticais
2eh 4
00
00
00
00
0 cores Número de cores na paleta
32h 4
00
00
00
00
0 cores importantes 0 significa que todas as cores são importantes
Início da matriz de pixels (dados de bitmap)
36h 3
00
00
FF
0 0 255 Vermelho, Pixel (0,1)
39h 3
FF
FF
FF
255 255 255 Branco, Pixel (1,1)
3Ch 2 00
00
0 0 Preenchimento para alinhamento byte 4 (poderia ser umvalor diferente de zero)
3Eh 3
00
00
FF
255 0 0 Azul, Pixel (0,0)
41h 3
00
FF
00
0 255 0 Verde, Pixel (1,0)
44h 2 00
00
0 0 Preenchimento para alinhamento byte 4 (poderia ser umvalor diferente de zero)
Exemplo 2 de um pixel bitmap 4 × 2, com
32 bits / codificação de pixels
Exemplo 2
Segue­se um exemplo de um 4 × 2 pixel, bitmap de 32 bits com valores de
opacidade do canal alfa (Windows DIB Header BITMAPV4HEADER) com
formato de pixel ArgB32.
Compensar Tamanho ValorHex Valor Descrição
BMP Header
0h 2 42 4D "BM" Campo ID (42h, 4Dh)
2h 4 9A 00
00 00
154 bytes (122 + 32) Tamanho do arquivo BMP
6h 2 00 00 Não usado Aplicação específica
8h 2 00 00 Não usado Aplicação específica
Ah 4 7A 00
00 00
122 bytes (14 + 108) Deslocamento onde a matriz de pixel (mapa de bits dedados) podem ser encontrados
DIB Header
Eh 4 6C 00
00 00
108 bytes Número de bytes de cabeçalho DIB (a partir desteponto)
04 00 4 pixels (esquerda
13/08/2015 Formato de arquivo BMP ­ Wikipédia, a enciclopédia livre
https://en.wikipedia.org/wiki/BMP_file_format 12/14
12h 4 00 00 para a direita) Largura do bitmap em pixels
16h 4 02 00
00 00
2 pixels (inferiores a
ordem de cima) Altura do bitmap em pixels
1Ah 2 01 00 1 avião Número de planos de cor a ser utilizada
1Cr 2 20 00 32 bits Número de bits por pixel
1Eh 4 03 00
00 00
3 BI_BITFIELDS, sem compressão matriz de pixelutilizados
22h 4 20 00
00 00
32 bytes Tamanho dos dados de bitmap em bruto (incluindoestofamento)
26h 4 13 0B
00 00
2835 pixels /
horizontal metros A resolução de impressão da imagem, 72 DPI ×
39,3701 polegadas por rendimentos metros 2834,64722Ah 4 13 0B
00 00
2835 pixels / metro
verticais
2eh 4 00 00
00 00
0 cores Número de cores na paleta
32h 4 00 00
00 00
0 cores importantes 0 significa que todas as cores são importantes
36h 4 00 00
00 FF
00FF0000 em big­
endian
Máscara de bit de canal vermelho (válido porque
BI_BITFIELDS é especificado)
3Ah 4 00 00
00 FF
0000FF00 em big­
endian
Máscara de bit de canal verde (válido porque
BI_BITFIELDS é especificado)
3Eh 4 00 00
00 FF
000000FF em big­
endian
Máscara de bit de canal Blue (válido porque
BI_BITFIELDS é especificado)
42h 4 00 00
00 FF
FF000000 em big­
endian Alpha máscara de bit de canal
46h 4 20 69
57 6E
little­endian " Win " LCS_WINDOWS_COLOR_SPACE
4ah 24h
24 *
00
...
00
Endpoints espaço
CIEXYZTRIPLE
Cor
Sem uso por LCS " Win "ou" sRGB "
6EH 4 00 00
00 00
0 Red Gamma Sem uso por LCS " Win "ou" sRGB "
72h 4 00 00
00 00
0 Verde Gamma Sem uso por LCS " Win "ou" sRGB "
76h 4 00 00
00 00
0 azul Gamma Sem uso por LCS " Win "ou" sRGB "
Início da matriz Pixel (os dados de bitmap)
7Ah 4 00 00
7F FF
255 0 0 127 Blue (Alpha: 127), Pixel (0,1)
7EH 4 7F FF
00 00
0 255 0 127 Green (Alpha: 127), Pixel (1,1)
82h 4 00 00
FF 7F
0 0 255 127 Red (Alpha: 127), Pixel (2,1)
86h 4 FF FF
FF 7F
255 255 255 127 Branco (Alpha: 127), Pixel (3,1)
8Ah 4 FF 00
00 FF
255 0 0 255 Blue (Alpha: 255), Pixel (0,0)
8EH 4 FF 00
FF 00
0 255 0 255 Green (Alpha: 255), Pixel (1,0)
92H 4 00 00
FF FF
0 0 255 255 Red (Alpha: 255), Pixel (2,0)
96h 4 FF FF
FF FF
255 255 255 255 Branco (Alpha: 255), Pixel (3,0)
Note­se que os dados de mapa de bits começa com o canto inferior esquerdo da imagem.
Uso de formato BMP
13/08/2015 Formato de arquivo BMP ­ Wikipédia, a enciclopédia livre
https://en.wikipedia.org/wiki/BMP_file_format 13/14
A simplicidade do formato de arquivo BMP, e sua familiaridade generalizada no Windows e em outros lugares, bem como o
fato de que este formato é relativamente bem documentada e livre de patentes, o torna um formato muito comum que os
programas de processamento de imagem de muitos sistemas operacionais pode ler e gravação. ICO arquivos CUR e conter
bitmaps começando com um BITMAPINFOHEADER.
Muitos idososinterfaces gráficas de usuário usado bitmaps em seus subsistemas gráficos embutidos; [ 19 ] , por exemplo, o
Microsoft Windows e OS / 2 plataformas ' GDI subsistema, onde o formato específico utilizado é o formato de arquivo de
bitmap OS / 2 do Windows e , normalmente nomeada com a extensão de arquivo de bmp . [ 20 ]
Enquanto a maioria dos arquivos BMP tem uma relativamente grande tamanho do arquivo devido à falta de qualquer
compressão (ou geralmente baixo rácio de codificação run­length em imagens paletizadas), muitos arquivos BMP pode ser
comprimido consideravelmente com compressão de dados sem perdas algoritmos como ZIP , pois eles contêm redundante
dados. Alguns formatos, como RAR , até mesmo incluir rotinas especificamente orientadas para compressão eficiente de tais
dados.
Formatos relacionados
Ver artigo principal: formatos de arquivo de imagem
O Sistema X Window utiliza um semelhante XBM formato para imagens em preto­e­branco, e XPM ( pixelmap ) para
imagens coloridas. Há também uma variedade de formatos "brutos", que salvar dados brutos, sem outras informações. O
portable pixmap (PPM) e Truevision TGA formatos também existem, mas são menos frequentemente utilizados ­ ou apenas
para fins especiais; por exemplo, TGA pode conter informações de transparência.
Referências
Ligações externas
1.  .bmp MIME tipo não registrado (http://www.iana.org/assignments/media­types/media­types.xhtml#image) no IANA
2.  . James D. Murray, William vanRyper (Abril de 1996) "Enciclopédia de gráficos Formatos de arquivo, Segunda Edição"
(http://www.fileformat.info/format/bmp/egff.htm) . O'Reilly . bmp. ISBN  1­56592­161­5 . Retirado 2014/03/07 .
3.  James D. Murray, William vanRyper (Abril de 1996). "Enciclopédia de gráficos formatos de arquivo, Segunda Edição"
(http://www.fileformat.info/format/os2bmp/egff.htm) . O'Reilly . os2bmp. ISBN  1­56592­161­5 . Retirado 2014/03/07 .
4.  "[MS­WMF]: Windows Metafile Format" (http://msdn.microsoft.com/en­us/library/cc250370.aspx) . MSDN . 2014/02/13 . Retirado
2014/03/12 .
5.  "DIBs e seus usos" (https://msdn.microsoft.com/en­us/library/ms969901.aspx) . Microsoft Ajuda e Suporte . Retirado 2015/05/14 .
6.  MSDN ­ BITMAPINFOHEADER (Windows CE 5.0): membro BI_ALPHABITFIELDS em biCompression
(http://msdn.microsoft.com/en­us/library/aa452885.aspx)
7.  MSDN Tipos Bitmap cabeçalho (http://msdn.microsoft.com/en­us/library/dd183386%28VS.85%29.aspx)
8.  MSDN BITMAPINFO Estrutura (http://msdn.microsoft.com/en­us/library/dd183375%28VS.85%29.aspx)
9.  Feng Yuan ­ programação de gráficos do Windows: Win32 GDI e DirectDraw: Embalado Bitmap independente de dispositivo
(CreateDIBPatternBrush, CreateDIBPatternBrushPt, FindResource, LoadResource, LockResource) (http://books.google.com/books?
id=­O92IIF1Bj4C&pg=PA595)
10.  "JPEG e PNG Extensions para funções específicas de bitmap e Estruturas" (http://msdn.microsoft.com/en­
us/library/dd145023(VS.85).aspx) .
11.  MSDN ­ BITMAPV4HEADER: O membro bV4AlphaMask (http://msdn.microsoft.com/en­
us/library/dd183380%28VS.85%29.aspx)
12.  MSDN ­ RGBQUAD: membro rgbReserved (http://msdn.microsoft.com/en­us/library/dd162938%28VS.85%29.aspx)
13.  veja nota sob biClrUsed MSDN BITMAPINFOHEADER (http://msdn.microsoft.com/en­
us/library/windows/desktop/dd183376(v=vs.85).aspx)
14.  MSDN ­ BITMAPINFOHEADER: O membro biBitCount (http://msdn.microsoft.com/en­us/library/dd183376%28VS.85%29.aspx)
15.  "Tipos de bitmaps" (http://msdn.microsoft.com/en­us/library/ms536393(v=vs.85).aspx) . MSDN . 2012­06­03 . Retirado 2014/03/16
.
16.  MSDN: Windows CE ­ Estrutura BITMAPINFOHEADER (http://msdn.microsoft.com/en­us/library/ms959648.aspx)
17.  "não­comprimidos de vídeo RGB subtipos" (http://msdn.microsoft.com/en­us/library/windows/desktop/dd407253(v=vs.85).aspx) .
dshow.h . MSDN . Retirado 2014/03/11 .
18.  "Formatos de imagem" (http://www.ffmpeg.org/general.html#Image­Formats) . FFmpeg Documentação Geral . 2014 . Retirado
2014/02/23 .
19.  Julian inteligente, Stefan Csömör, e Kevin Hock (2006). Programação Platform­Cross GUI com wxWidgets
(http://books.google.com/books?id=CyMsvtgnq0QC&pg=PA265&dq=bitmap+pixmap+gui) . Prentice Hall. ISBN  0­13­147381­6 .
20.  "Bitmap arquivo de imagem (BMP), Versão 5" (http://www.digitalpreservation.gov/formats/fdd/fdd000189.shtml) . preservação
digital . Biblioteca do Congresso . 2014/01/08 . Retirado 2014/03/11 .
13/08/2015 Formato de arquivo BMP ­ Wikipédia, a enciclopédia livre
https://en.wikipedia.org/wiki/BMP_file_format 14/14
Estrutura de arquivos bitmap (http://www.digicamsoft.com/bmp/bmp.html) , em digicamsoft.com
Uma introdução à DIBs (bitmaps independentes de dispositivo) (http://www.herdsoft.com/ti/davincie/imex3j8i.htm) ,
na herdsoft.com
Extensão de arquivo DIB (http://www.extension.info/file­extension­dib) , lista de software para trabalhar com arquivos
DIB
Um simples carregador de bitmap classe C ++ (http://www.kalytta.com/bitmap.h) , no kalytta.com (A2R10G10B10
ainda não suportado)
O formato de arquivo BMP, Part 1 por David Charlap (http://drdobbs.com/architecture­and­design/184409517) no
jornal do Dr. Dobb de ferramentas de software (drdobbs.com), março 1995
Retirado de " https://en.wikipedia.org/w/index.php?title=BMP_file_format&oldid=673282671 "
Categorias : Gráficos formatos de arquivo Tecnologia multimídia Microsoft Windows
Esta página foi modificada pela última vez em 27 de julho de 2015, em 10:01.
O texto está disponível sob a Licença Creative Commons Atribuição­Compartilhamento pela mesma ; podem aplicar­
se termos adicionais. Ao utilizar este site, você concorda com os Termos de Uso e Política de Privacidade . Wikipédia
é uma marca comercial registrada da Wikimedia Foundation, Inc. , uma organização sem fins lucrativos.

Mais conteúdos dessa disciplina