Formato BPM
.BMP es
el formato propio del programa, que viene con el sistema operativo Windows. Es posible
guardar imágenes de 24 bits (16,7 millones de colores), 8 bits (256 colores) y
menos.
A este tipo de archivos puede hacérsele una compresión sin pérdida de
calidad: este tipo de compresión es llamada RLE o por sus siglas en ingles(Run-length encoding).
El formato BMP es uno de los más simples. Fue
desarrollado por Microsoft e IBM en forma conjunta, lo que explica su uso amplio
uso en plataformas Windows y OS/2. Los archivos con formato .BMP,
en sistemas operativos Windows, representan la sigla BitMaP (o también Bit Mapped
Picture), o sea mapa de bits. Un archivo BMP, es un archivo de
imagen de gráficos, con píxeles almacenados en forma de tabla de puntos que
administra los colores como colores reales o usando una paleta indexada.
Imagen tomada de http://disenodepresentaciones.wordpress.com
Imagen tomada de http://4.bp.blogspot.com
Los mapas de bits están compuestos por direcciones en las cuales están presentes
códigos de color, uno para cada cuadro en la matriz pixelada. Con esto podemos
decir que a mayor cantidad de pixeles la imagen podrá tener una mayor calidad y
nitidez. Al aplicar un zoom y verlos en una escala mayor la imagen pierde
calidad, por el contrario si se observa en una escala menor se persibe un
aumento en la calidad de la misma. No son comúnmente utilizados en paginas web
debebido a su gran tamaño en relación con su resolución.
Debido a su gran peso generalmente son trasformados a otros formatos como
JPEG, GIF o PNG los cuales utilizan algoritmos para conseguir una mayor compresión.
A continuación se detalla la estructura de la cabecera de un fichero .BMP
Bytes
|
Información
|
0, 1
|
Tipo de fichero "BM"
|
2, 3, 4, 5
|
Tamaño del archivo
|
6, 7
|
Reservado
|
8, 9
|
Reservado
|
10, 11, 12, 13
|
Inicio de los datos de la
imagen
|
14, 15, 16, 17
|
Tamaño de la cabecera del
bitmap
|
18, 19, 20, 21
|
Anchura (píxels)
|
22, 23, 24, 25
|
Altura (píxels)
|
26, 27
|
Número de planos
|
28, 29
|
Tamaño de cada punto
|
30, 31, 32, 33
|
Compresión (0=no comprimido)
|
34, 35, 36, 37
|
Tamaño de la imagen
|
38, 39, 40, 41
|
Resolución horizontal
|
42, 43, 44, 45
|
Resolución vertical
|
46, 47, 48, 49
|
Tamaño de la tabla de color
|
50, 51, 52, 53
|
Contador de colores importantes
|
El Bitmap de una imagen .BMP comienza a leerse desde
abajo a arriba, es decir: en una imagen en 24 bits los primeros 3 bytes
corresponden al primer píxel inferior izquierdo.
ESTRUCTURAS
imagen tomada de http://quito.olx.com.ec/
Encabezado
del archivo
El
encabezado del archivo proporciona información acerca del tipo de archivo (mapa
de bits) y su tamaño, así como también indica dónde comienza realmente la
información de la imagen.
El
encabezado comprende cuatro campos:
·
La firma
(en 2 bytes), que indica que se trata de un archivo BMP con dos caracteres
·
BM, 424D en hexadecimal, que indica
que se trata de un mapa de bits de Windows
·
BA que indica que se trata de un mapa de bits
OS/2
·
CI que indica que se trata de un icono de color
de OS/2
·
CP indica que es un puntero de color de OS/2
·
IC indica que es un icono de OS/2
·
PT indica que es un puntero de OS/2
·
El tamaño
total del archivo en bytes (codificado en 4 bytes)
·
Un campo
reservado (en 4 bytes)
·
El
desajuste de la imagen (en 4 bytes), es decir, la ubicación del comienzo de la
información de la imagen en relación con el comienzo del archivo
El
encabezado de información del mapa de bits proporciona información acerca de la
imagen, en especial las dimensiones y los colores.
La
información del mapa de bits comprende cuatro campos:
·
El tamaño
del encabezado de información del mapa de bits en bytes (codificado en 4
bytes). Los siguientes valores hexadecimales son posibles según el tipo de
formato BMP:
·
28 para
Windows 3.1x, 95, NT
·
0C para
OS/2 1.x
·
F0 para
OS/2 2.x
·
El ancho
de la imagen (en 4 bytes), es decir, el número de píxeles contados de forma
horizontal
·
La altura
de la imagen (en 4 bytes), es decir, el número de píxeles contados de forma
vertical
·
El número
de planos (en 2 bytes). Este valor es siempre 1
·
La
profundidad del modelo de color (en 2 bytes), es decir, el número de bits
usados para codificar el color. Este valor puede ser equivalente a 1, 4, 8, 16,
24 ó 32
·
El método
de compresión (en 4 bytes). Este valor es 0 cuando la imagen no está comprimida
o 1, 2 ó 3 según el tipo de compresión usado:
·
1 para la
codificación RLE de 8 bits por píxel
·
2 para la
codificación RLE de 4 bits por píxel
·
3 para la
codificación de campo de bits, lo que significa que el color fue codificado por
una máscara triple representada por la paleta
·
El tamaño
total de la imagen en bytes (en 4 bytes).
·
La
resolución horizontal (en 4 bytes), es decir, el número de píxeles por metro
contado de forma horizontal
·
La
resolución vertical (en 4 bytes), es decir, el número de píxeles por metro
contado de forma vertical
·
El número
de colores de la paleta (en 4 bytes)
·
El número
de colores importantes de la paleta (en 4 bytes). Este campo puede equivaler a
0 cuando todos los colores son importantes.
La paleta
es opcional. Cuando se define la paleta, ésta contiene 4 bytes de forma
sucesiva para cada una de las entradas, que representan:
·
El
componente azul (en un byte)
·
El
componente verde (en un byte)
·
El
componente rojo (en un byte)
·
Un campo
reservado (en un byte)
imagen tomada de http://es.wikipedia.org/wiki/Imagen_de_mapa_de_bits
La
codificación de imágenes se realiza escribiendo en forma sucesiva los bits que
corresponden a cada píxel, línea por línea, comenzando por el píxel del extremo
inferior izquierdo.
·
Las
imágenes de 2 colores usan 1 bit por píxel, lo que significa que un byte
permite codificar 8 píxeles
·
Las
imágenes de 16 colores usan 4 bits por píxel, lo que significa que un byte
permite codificar 2 píxeles
·
Las
imágenes de 256 colores usan 8 bits por píxel, lo que significa que se necesita
un byte para codificar cada píxel
·
Las
imágenes de colores reales usan 24 bits por píxel, lo que significa que se
necesitan 3 bytes para codificar cada píxel, respetando la alternancia del
orden de los colores para el azul, el verde y el rojo.
Cada línea de la
imagen debe comprender un número total de bytes que sea múltiplo de 4; si este
esquema no se cumple, la línea se debe completar con todos los 0 necesarios
para respetar el criterio.
BIBLIOGRAFIA
No hay comentarios:
Publicar un comentario