Acerca de los mapas de bits

Un mapa de bits es uno de los objetos GDI que se pueden seleccionar en un contexto de dispositivo (DC). Los contextos de dispositivo son estructuras que definen un conjunto de objetos gráficos y sus atributos asociados, y modos gráficos que afectan a la salida. En la tabla siguiente se describen los objetos GDI que se pueden seleccionar en un contexto de dispositivo.

Graphic (objeto) Descripción
Mapas de bits Crea, manipula (escala, desplazamiento, rotación y pintura) y almacena imágenes como archivos en un disco.
Pinceles Pinta el interior de polígonos, puntos suspensivos y trazados.
Fuentes Dibuja texto en pantallas de vídeo y otros dispositivos de salida.
Paleta lógica Paleta de colores creada por una aplicación y asociada a un contexto de dispositivo determinado.
Paths Una o varias figuras (o formas) que se rellenan o se describen.
Lápices Una herramienta de gráficos que una aplicación usa para dibujar líneas y curvas.
Regiones Rectángulo, polígono o elipse (o una combinación de dos o más de estas formas) que se pueden rellenar, pintar, invertir, enmarcar y usar para realizar pruebas de posicionamiento (pruebas para la ubicación del cursor).

 

Desde la perspectiva de un desarrollador, un mapa de bits consta de una colección de estructuras que especifican o contienen los siguientes elementos:

  • Encabezado que describe la resolución del dispositivo en el que se creó el rectángulo de píxeles, las dimensiones del rectángulo, el tamaño de la matriz de bits, etc.
  • Una paleta lógica.
  • Matriz de bits que define la relación entre píxeles de la imagen de mapa de bits y las entradas de la paleta lógica.

Un tamaño de mapa de bits está relacionado con el tipo de imagen que contiene. Las imágenes de mapa de bits pueden ser monocromáticas o de color. En una imagen, cada píxel corresponde a uno o varios bits de un mapa de bits. Las imágenes monocromáticas tienen una relación de 1 bit por píxel (bpp). La creación de imágenes de color es más compleja. El número de colores que puede mostrar un mapa de bits es igual a dos elevado al número de bits por píxel. Por lo tanto, un mapa de bits de 256 colores requiere 8 bpp (2^8 = 256).

Panel de control aplicaciones son ejemplos de aplicaciones que usan mapas de bits. Al seleccionar un fondo (o fondo de pantalla) para el escritorio, en realidad selecciona un mapa de bits, que el sistema usa para pintar el fondo del escritorio. El sistema crea el patrón de fondo seleccionado dibujando repetidamente un patrón de 32 por 32 píxeles en el escritorio.

En la ilustración siguiente se muestra la perspectiva del desarrollador del mapa de bits que se encuentra en el archivo Redbrick.bmp. Muestra una matriz de paletas, un rectángulo de 32 por 32 píxeles y la matriz de índices que asigna colores de la paleta a píxeles del rectángulo.

illustration of the pixel rectangle, palette array, and index array of redbrick.bmp

En el ejemplo anterior, el rectángulo de píxeles se creó en un dispositivo de pantalla VGA mediante una paleta de 16 colores. Una paleta de 16 colores requiere índices de 4 bits; por lo tanto, la matriz que asigna colores de paleta a colores de píxeles también se compone de índices de 4 bits. (Para obtener más información sobre las paletas de colores lógicas, vea Colores).

Nota

En el mapa de bits anterior, el sistema asigna índices a píxeles que comienzan con la línea de examen inferior de la región rectangular y finalizan con la línea de examen superior. Una línea de examen es una sola fila de píxeles adyacentes en una pantalla de vídeo. Por ejemplo, la primera fila de la matriz (fila 0) corresponde a la fila inferior de píxeles, línea de examen 31. Esto se debe a que el mapa de bits anterior es un mapa de bits independiente del dispositivo (DIB), un tipo común de mapa de bits. En dibs de arriba abajo y en mapas de bits dependientes del dispositivo (DDB), el sistema asigna índices a píxeles que comienzan con la línea de examen superior.

 

En los temas siguientes se describen diferentes áreas de mapas de bits.