( TRADUCIDO CON EL POWER TRASLEITOR 6.3 )

Los gráficos Archivan Formatos

Este tema describe los formatos del gráficos-archivo usados por el Microsoft el
sistema operativo de Windows. Los archivos de los gráficos incluyen el bitmap
archiva, el icono-recurso archiva, y archivos del cursor-recurso.

Formatos del Bitmap-archivo

Se guardan Windows bitmap archivos en un bitmap dispositivo-independiente (DIB)
formato que le permite a Windows desplegar el bitmap en cualquier tipo de
dispositivo del despliegue. El término "el dispositivo independiente" los
medios que el bitmap especifica pixel colore en una forma independiente del
método usado por un despliegue para representar color. La extensión del
filename predefinida de un Windows el archivo de DIB es .BMP.

Estructuras del Bitmap-archivo

Cada archivo del bitmap contiene un título del bitmap-archivo, un título de
bitmap-información, una mesa colorida, y una serie de bytes que definen los
pedazos del bitmap. El archivo tiene la forma siguiente:

Bmfh de BITMAPFILEHEADER;
Bmih de BITMAPINFOHEADER;
AColors de RGBQUAD [];
ABitmapBits del BYTE [];

El título del bitmap-archivo contiene información sobre el tipo, clasifique
según tamaño, y esquema de un archivo del bitmap dispositivo-independiente. El
título se define como una estructura de BITMAPFILEHEADER.

El título de bitmap-información, definido como una estructura de
BITMAPINFOHEADER, especifica las dimensiones, tipo de condensación, y el
formato colorido para el bitmap.

La mesa colorida, definida como una serie de estructuras de RGBQUAD, contiene
tantos elementos como allí es colores en el bitmap. La mesa colorida no está
presente para el bitmaps con 24 pedazos de color porque cada pixel es
representado a través de 24-bit rojo-verde-azul (RGB) los valores en el área de
datos de bitmap real. Los colores en la mesa deben aparecer en orden de
importancia. Esto ayuda a un chófer del despliegue a dar un bitmap en un
dispositivo que no puede desplegar tantos colores como allí está en el bitmap.
Si el DIB está en Windows versión 3.0 o después estructura, el chófer puede
acostumbrar al miembro del biClrImportant de la estructura de BITMAPINFOHEADER
a determinar qué colores son importantes.

La estructura de BITMAPINFO puede usarse para representar un título de
bitmap-información combinado y mesa de color.  Los pedazos del bitmap sigue la
mesa colorida inmediatamente y consiste en una serie de valores del BYTE que
representan filas consecutivas, o "examine líneas," del bitmap. Cada uno
examina la línea consiste en bytes consecutivos que representan el pixels en el
examine línea, en orden del izquierdo-a-derecho. El número de bytes que
representan un examine la línea depende del formato colorido y la anchura, en
pixels, del bitmap. Si necesario, un examine la línea debe cero-forrarse para
acabar en un 32-bit límite. Sin embargo, los límites del segmento pueden
aparecer en cualquier parte en el bitmap. El examine líneas en el bitmap se
almacena del fondo. Esto significa que que el primer byte en la serie
representa el pixels en la esquina bajar-izquierda del bitmap y el último byte
representa el pixels en la esquina del superior-derecho.

El miembro del biBitCount de la estructura de BITMAPINFOHEADER determina el
número de pedazos que definen cada pixel y el máximo numere de colores en el
bitmap. Estos miembros pueden tener cualquiera de los valores siguientes:

Significado de valor

1 Bitmap es monocromático y la mesa colorida contiene dos entradas. Cada
momento en la serie del bitmap representa un pixel. Si el pedazo está claro, el
pixel se despliega con el color de la primera entrada en la mesa colorida. Si
el pedazo es fijo, el pixel tiene el color de la segunda entrada en la mesa.

4 Bitmap tiene un máximo de 16 colores. Cada pixel en el bitmap es representado
por un 4-bit índice en la mesa colorida. Por ejemplo, si el primer byte en el
bitmap es 0x1F, el byte representa dos pixels. El primer pixel contiene el
color en la segunda entrada de la mesa, y el segundo pixel contiene el color en
la decimosexta entrada de la mesa.

8 Bitmap tiene un máximo de 256 colores. Cada pixel en el bitmap es
representado por un 1-byte índice en la mesa colorida. Por ejemplo, si el
primer byte en el bitmap es 0x1F, el primer pixel tiene el color de la
treinta-segunda entrada de la mesa.

24 Bitmap tiene un máximo de 2^24 colores. El bmiColors (o bmciColors) el
miembro es NULO, y cada 3-byte sucesión en la serie del bitmap representa las
intensidades relativas de rojo, verde, y azula, respectivamente, para un pixel.

El miembro del biClrUsed de la estructura de BITMAPINFOHEADER especifica el
número de índices colorimétrico realmente en la mesa colorida usada por el
bitmap. Si el miembro del biClrUsed se pone para poner a cero, el bitmap usa el
número del máximo de colores que corresponden al valor del miembro del
biBitCount.  Una forma alternativa de archivo del bitmap usa el BITMAPCOREINFO,
BITMAPCOREHEADER, y estructuras de RGBTRIPLE.

Condensación de Bitmap

Windows versiones 3.0 y la correr-longitud de apoyo más tarde pusieron en
código (RLE) los formatos por comprimir bitmaps que usa 4 pedazos por los pixel
y 8 pedazos por el pixel. La condensación reduce el disco y el almacenamiento
de memoria requirió para un bitmap.

Condensación de 8-Bits-per-Pixel Bitmaps

Cuando el miembro del biCompression de la estructura de BITMAPINFOHEADER se
pone a BI_RLE8, el DIB es usando comprimido que una correr-longitud puso en
código formato para un 256-color bitmap. Este formato usa dos modos: modo
puesto en código y el modo absoluto. Ambos modos pueden ocurrir en cualquier
parte a lo largo de un solo bitmap.

Modo puesto en código

Una unidad de información en modo puesto en código consiste en dos bytes. El
primer byte especifica el número de pixels consecutivo ser dibujado usando el
índice colorimétrico contuvo en el segundo byte.  El primer byte del par puede
ponerse poner a cero para indicar un escape que denota el extremo de una línea,
el extremo del bitmap, o un delta. La interpretación del escape depende del
valor del segundo byte del par que debe estar en el rango 0x00 a través de
0x02. Seguir son los significados de los valores del escape que pueden usarse
en el segundo byte:

Segundo Significado del byte

0 extremo de línea.
1 extremo de bitmap.
2 delta. Los dos bytes que siguen el escape contienen valores sin firmar que
indican los desplazamientos horizontales y verticales de los próximos pixel de
la posición actual.

Modo absoluto

El modo absoluto es signaled por el primer byte en el par para poniéndose para
poner a cero y el segundo byte a un valor entre 0x03 y 0xFF. El segundo byte
representa el número de bytes que siguen cada uno de los cuales contienen el
índice colorimétrico de un solo pixel. Cada carrera debe alinearse en un
palabra límite.  Seguir es un ejemplo de un 8-bit bitmap de RLE (el hexadecimal
del dos-dedo valora en la segunda columna represente un índice colorimétrico
para un solo pixel):

Los datos comprimidos Extendieron datos

03 04 04 04 04
05 06 06 06 06 06 06
00 03 45 56 67 00 45 56 67
02 78 78 78
00 02 05 01 movimiento 5 derecho y 1 abajo
02 78 78 78
00 00 extremo de línea
09 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E
00 01 extremo de bitmap de RLE

Condensación de 4-Bits-per-Pixel Bitmaps

Cuando el miembro del biCompression de la estructura de BITMAPINFOHEADER se
pone a BI_RLE4, el DIB es usando comprimido que una correr-longitud puso en
código formato para un 16-color bitmap. Este formato usa dos modos: modo puesto
en código y el modo absoluto.

Modo puesto en código

Una unidad de información en modo puesto en código consiste en dos bytes. El
primer byte del par contiene el número de pixels ser dibujado usando los
índices colorimétrico en el segundo byte.

El segundo byte contiene dos índices colorimétrico, uno en su mordisco del
alto-orden (es decir, su bajo-orden 4 pedazos) y uno en su mordisco del
bajo-orden.

El primer pixel es usando arrastrado el color especificado por el mordisco del
alto-orden, el segundo es usando arrastrado el color en el mordisco del
bajo-orden, el tercio es arrastrado con el color en el mordisco del alto-orden,
y así sucesivamente, hasta todo el pixels especificado por el primer byte ha
sido arrastrado.

El primer byte del par puede ponerse poner a cero para indicar un escape que
denota el extremo de una línea, el extremo del bitmap, o un delta. La
interpretación del escape depende del valor del segundo byte del par. En modo
puesto en código, el segundo byte tiene un valor en el rango 0x00 a través de
0x02. El significado de estos valores es igual que para un DIB con 8 pedazos
por el pixel.

Modo absoluto

En modo absoluto, el primer byte contiene cero, el segundo byte contiene el
número de índices colorimétrico que siguen, y los bytes subsecuentes contienen
índices colorimétrico en su alto - y mordiscos del bajo-orden, un índice
colorimétrico para cada pixel. Cada carrera debe alinearse en un palabra
límite.

Seguir es un ejemplo de un 4-bit bitmap de RLE (el hexadecimal del uno-dedo
valora en la segunda columna represente un índice colorimétrico para un solo
pixel):

Los datos comprimidos Extendieron datos

03 04 0 4 0
05 06 0 6 0 6 0
00 06 45 56 67 00 4 5 5 6 6 7
04 78 7 8 7 8
00 02 05 01 movimiento 5 derecho y 1 abajo
04 78 7 8 7 8
00 00 extremo de línea
09 1E 1 E 1 E 1 E 1 E 1
00 01 extremo de bitmap de RLE

Ejemplo de Bitmap

El ejemplo siguiente es un vertedero del texto de un 16-color bitmap (4 pedazos
por el pixel):

Win3DIBFile
              BitmapFileHeader
                  Teclee 19778
                  Clasifique según tamaño 3118
                  Reserved1 0
                  Reserved2 0
                  OffsetBits 118
              BitmapInfoHeader
                  Clasifique según tamaño 40
                  Anchura 80
                  Altura 75
                  Aviones 1
                  BitCount 4
                  Condensación 0
                  SizeImage 3000

                  XPelsPerMeter 0
                  YPelsPerMeter 0
                  ColorsUsed 16
                  ColorsImportant 16
              Win3ColorTable
                  Azul Verde Rojo Sin usar
[00000000] 84 252 84 0
[00000001] 252 252 84 0
[00000002] 84 84 252 0
[00000003] 252 84 252 0
[00000004] 84 252 252 0
[00000005] 252 252 252 0
[00000006] 0 0 0 0
[00000007] 168 0 0 0
[00000008] 0 168 0 0
[00000009] 168 168 0 0
[0000000A] 0 0 168 0
[0000000B] 168 0 168 0
[0000000C] 0 168 168 0
[0000000D] 168 168 168 0
[0000000E] 84 84 84 0
[0000000F] 252 84 84 0
              Imagen
    .
    .                                           Datos de Bitmap
    .

Formato de Archivo de icono-recurso

Un archivo del icono-recurso contiene datos de la imagen para iconos usados por
aplicaciones de Windows. El archivo consiste en un directorio del icono que
identifica el número y tipos de imágenes del icono en el archivo, más o más
imágenes del icono. La extensión del filename predefinida para un archivo del
icono-recurso es .ICO.

Directorio del icono

Cada salidas de archivo de icono-recurso con un directorio del icono. El
directorio del icono, definido como una estructura de ICONDIR, especifica el
número de iconos en el recurso y las dimensiones y formato de color de cada
imagen del icono. La estructura de ICONDIR tiene la forma siguiente:
 
 

struct del typedef ICONDIR {
    FORMULE idReserved;
    FORMULE idType;
    FORMULE idCount;
    ICONDIRENTRY idEntries[1];
} ICONHEADER;

Seguir son los miembros en la estructura de ICONDIR:

los idReserved Reservaron; debe ser cero.
el idType Especifica el tipo del recurso. Este miembro se pone a 1.  el idCount
Especifica el número de entradas en el directorio.  el idEntries Especifica una
serie de estructuras de ICONDIRENTRY que contienen información sobre los iconos
individuales. El miembro del idCount especifica el número de estructuras en la
serie.

La estructura de ICONDIRENTRY especifica las dimensiones y formato de color
para un icono. La estructura tiene la forma siguiente:
 
 

struct IconDirectoryEntry {
    BWidth del BYTE;
    BHeight del BYTE;
    BColorCount del BYTE;
    BReserved del BYTE;
    FORMULE wPlanes;
    FORMULE wBitCount;
    DwBytesInRes de DWORD;
    DwImageOffset de DWORD;
};

Seguir son los miembros en la estructura de ICONDIRENTRY:

el bWidth Especifica la anchura del icono, en pixels. Los valores aceptables
son 16, 32, y 64.

el bHeight Especifica la altura del icono, en pixels. Los valores aceptables
son 16, 32, y 64.

el bColorCount Especifica el número de colores en el icono. Los valores
aceptables son 2, 8, y 16.

los bReserved Reservaron; debe ser cero.
el wPlanes Especifica el número de aviones coloridos en el bitmap del icono.
el wBitCount Especifica el número de pedazos en el bitmap del icono.  el
dwBytesInRes Especifica el tamaño del recurso, en bytes.  el dwImageOffset
Especifica el desplazamiento, en bytes, del principio del archivo a la imagen
del icono.

Imagen del icono

Cada archivo del icono-recurso contiene una imagen del icono para cada imagen
identificada en el directorio del icono. Una imagen del icono consiste en un
título del icono-imagen, una mesa colorida, una máscara de XOR, y un Y máscara.
La imagen del icono tiene la forma siguiente:
 
 

IcHeader de BITMAPINFOHEADER;
IcColors de RGBQUAD [];
IcXOR del BYTE [];
IcAND del BYTE [];

El título del icono-imagen, definido como una estructura de BITMAPINFOHEADER,
especifica las dimensiones y formato de color del bitmap del icono. Se usan
sólo los biSize a través de los miembros del biBitCount y el miembro del
biSizeImage. Todos los otros miembros (como biCompression y biClrImportant)
debe ponerse para poner a cero.

La mesa colorida, definida como una serie de estructuras de RGBQUAD, especifica
los colores usados en la máscara de XOR. Como con la mesa colorida en un
archivo del bitmap, el miembro del biBitCount en el título del icono-imagen
determina el número de elementos en la serie. Para más información sobre la
mesa colorida, vea Sección 1.1, "Formatos del Bitmap-archivo".

Los XOR enmascaran y siguen la mesa colorida inmediatamente, es una serie de
valores del BYTE que representan filas consecutivas de un bitmap. El bitmap
define la forma básica y color de la imagen del icono. Como con los pedazos del
bitmap en un archivo del bitmap, el datos del bitmap en un archivo del
icono-recurso es organizado en examine líneas, con cada byte que representa uno
o más pixels, como definido por el formato colorido. Para más información
aproximadamente estos momentos del bitmap, vea Sección 1.1, "Formatos del
Bitmap-archivo".

El Y enmascara y sigue el XOR inmediatamente enmascare, es una serie de valores
del BYTE y representa un bitmap monocromático con la misma anchura y altura
como la máscara de XOR. La serie es organizada en examine líneas, con cada byte
que representa 8 pixels.

Cuando Windows dibuja un icono, usa el Y y XOR enmascara para ya combinar la
imagen del icono con el pixels en la superficie del despliegue. Windows aplica
primero el Y enmascara usando un bitwise Y funcionamiento; esto conserva o
quita existiendo color del pixel.  Windows aplica entonces que los XOR
enmascaran usando un bitwise el funcionamiento de XOR. Esto pone el color final
para cada pixel.

La ilustración siguiente muestra el XOR y Y máscaras que crean un icono
monocromático (midiendo 8 pixels a través de 8 pixels) en la forma de un K
mayúsculo:

Windows Icono Selección

Windows descubre la resolución del despliegue actual y fósforos él contra la
anchura y la altura especificó para cada versión de la imagen del icono. Si
Windows determina eso hay un fósforo exacto entre una imagen del icono y el
dispositivo actual, usa la imagen emparejando. Por otra parte, selecciona el
fósforo más íntimo y estiramientos la imagen al tamaño apropiado.

Si un archivo del icono-recurso contiene más de una imagen para una resolución
particular, Windows usa la imagen del icono que estrechamente empareja las
capacidades coloridas del despliegue actual. Si ninguna imagen empareja las
capacidades del dispositivo exactamente, Windows selecciona la imagen que tiene
el más gran número de colores sin exceder el número de colores del despliegue.
Si todas las imágenes exceden las capacidades coloridas del despliegue actual,
Windows usa la imagen del icono con el menor número de colores.
 
 

Formato de Archivo de cursor-recurso

Un archivo del cursor-recurso contiene datos de la imagen para cursores usados
por aplicaciones de Windows. El archivo consiste en un directorio del cursor
que identifica el número y tipos de imágenes del cursor en el archivo, más o
más imágenes del cursor. La extensión del filename predefinida para un archivo
del cursor-recurso es .CUR.

Directorio del cursor

Cada salidas de archivo de cursor-recurso con un directorio del cursor. El
directorio del cursor, definido como una estructura de CURSORDIR, especifica el
número de cursores en el archivo y las dimensiones y formato de color de cada
imagen del cursor. La estructura de CURSORDIR tiene la forma siguiente:
 

struct del typedef _CURSORDIR {
    FORMULE cdReserved;
    FORMULE cdType;
    FORMULE cdCount;
    CdEntries de CURSORDIRENTRY [];
} CURSORDIR;

Seguir son los miembros en la estructura de CURSORDIR:

los cdReserved Reservaron; debe ser cero.
el cdType Especifica el tipo del recurso. Este miembro debe ponerse a 2.  el
cdCount Especifica el número de cursores en el archivo.
el cdEntries Especifica una serie de estructuras de CURSORDIRENTRY que
contienen información sobre los cursores individuales. El miembro del cdCount
especifica el número de estructuras en la serie.

Una estructura de CURSORDIRENTRY especifica las dimensiones y formato de color
de una imagen del cursor. La estructura tiene la forma siguiente:
 
 

struct del typedef _CURSORDIRENTRY {
    BWidth del BYTE;
    BHeight del BYTE;
    BColorCount del BYTE;
    BReserved del BYTE;
    FORMULE wXHotspot;
    FORMULE wYHotspot;
    LBytesInRes de DWORD;
    DwImageOffset de DWORD;
} CURSORDIRENTRY;

Seguir son los miembros en la estructura de CURSORDIRENTRY:

el bWidth Especifica la anchura del cursor, en pixels.
el bHeight Especifica la altura del cursor, en pixels.
los bColorCount Reservaron; debe ser cero.
los bReserved Reservaron; debe ser cero.
el wXHotspot Especifica la x-coordenada, en pixels, de la mancha caliente.  el
wYHotspot Especifica la y-coordenada, en pixels, de la mancha caliente.  el
lBytesInRes Especifica el tamaño del recurso, en bytes.  el dwImageOffset
Especifica el desplazamiento, en bytes, de la salida del archivo a la imagen
del cursor.

Imagen del cursor

Cada archivo del cursor-recurso contiene una imagen del cursor para cada imagen
identificada en el directorio del cursor. Una imagen del cursor consiste en un
título del cursor-imagen, una mesa colorida, una máscara de XOR, y un Y
máscara. La imagen del cursor tiene la forma siguiente:
 
 

CrHeader de BITMAPINFOHEADER;
CrColors de RGBQUAD [];
CrXOR del BYTE [];
CrAND del BYTE [];

El cursor la mancha caliente es un solo pixel en el bitmap del cursor que
Windows acostumbra a rastrear el cursor. Los crXHotspot y miembros del
crYHotspot especifican el x - y y-coordenadas del cursor la mancha caliente.
Estas coordenadas son 16-bit enteros.

El título del cursor-imagen, definido como una estructura de BITMAPINFOHEADER,
especifica las dimensiones y formato de color del bitmap del cursor. Se usan
sólo los biSize a través de los miembros del biBitCount y el miembro del
biSizeImage. El miembro del biHeight especifica la altura combinada del XOR y Y
máscaras para el cursor. Este valor es dos veces la altura de la máscara de
XOR. Los biplanos y miembros del biBitCount deben tener 1 años. Todos los otros
miembros (como biCompression y biClrImportant) debe ponerse para poner a cero.

La mesa colorida, definida como una serie de estructuras de RGBQUAD, especifica
los colores usados en la máscara de XOR. Para una imagen del cursor, la mesa
contiene dos estructuras exactamente, desde el miembro del biBitCount en el
título del cursor-imagen 1 está siempre.

Los XOR enmascaran y siguen la mesa colorida inmediatamente, es una serie de
valores del BYTE que representan filas consecutivas de un bitmap. El bitmap
define la forma básica y color de la imagen del cursor. Como con los pedazos
del bitmap en un archivo del bitmap, el datos del bitmap en un archivo del
cursor-recurso es organizado en examine líneas, con cada byte que representa
uno o más pixels, como definido por el formato colorido. Para más información
aproximadamente estos momentos del bitmap, vea Sección 1.1, "Formatos del
Bitmap-archivo".

El Y enmascara y sigue el XOR inmediatamente enmascare, es una serie de valores
del BYTE que representan un bitmap monocromático con la misma anchura y altura
como la máscara de XOR. La serie es organizada en examine líneas, con cada byte
que representa 8 pixels.

Cuando Windows dibuja un cursor, usa el Y y XOR enmascara para ya combinar la
imagen del cursor con el pixels en la superficie del despliegue. Windows aplica
primero el Y enmascara usando un bitwise Y funcionamiento; esto conserva o
quita existiendo color del pixel.  La ventana aplica entonces que los XOR
enmascaran usando un bitwise el funcionamiento de XOR. Esto pone el color final
para cada pixel.

La ilustración siguiente muestra el XOR y el Y máscaras que crean un cursor
(midiendo 8 pixels a través de 8 pixels) en la forma de una flecha:

Seguir son que el pedazo-máscara valora necesario para producir resultados
negros, blancos, invertido, y transparentes:

Pixel resultan Y máscara del maskXOR

Negro 0 0
Blanco 0 1
Transparente 1 0
Inverted1 1

Windows Cursor Selección

Si un archivo del cursor-recurso contiene más de una imagen del cursor, Windows
determina el fósforo mejor para un despliegue particular examinando la anchura
y altura de las imágenes del cursor.
 

== == == == == == == == == == == == == == == == == == == == == == == == == ==
== == == == == == == == == == == == ==
 

BITMAPFILEHEADER (3.0)
 
 

tagBITMAPFILEHEADER de struct de typedef {/ * el bmfh * /
    BfType de UINT;
    BfSize de DWORD;
    UINT bfReserved1;
    UINT bfReserved2;
    BfOffBits de DWORD;
} BITMAPFILEHEADER;

La estructura de BITMAPFILEHEADER contiene información sobre el tipo,
clasifique según tamaño, y esquema de un bitmap dispositivo-independiente (DIB)
el archivo.

Descripción del miembro

el bfType Especifica el tipo de archivo. Este miembro debe ser BM.
el bfSize Especifica el tamaño del archivo, en bytes.
BfReserved1 reservado; debe ponerse para poner a cero.
BfReserved2 reservado; debe ponerse para poner a cero.
el bfOffBits Especifica el desplazamiento del byte de la estructura de
BITMAPFILEHEADER a los datos del bitmap reales en el archivo.

Comentarios

Un BITMAPINFO o BITMAPCOREINFO estructuran inmediatamente sigue los
BITMAPFILEHEADER estructuran en el archivo de DIB.

También vea

BITMAPCOREINFO, BITMAPINFO,
 

== == == == == == == == == == == == == == == == == == == == == == == == == ==
== == == == == == == == == == == == == BITMAPINFO (3.0)
 
 

tagBITMAPINFO de struct de typedef {/ * el bmi * /
    BmiHeader de BITMAPINFOHEADER;
    RGBQUAD bmiColors[1];
} BITMAPINFO;

Los BITMAPINFO estructuran totalmente define las dimensiones y información de
color para un Windows 3.0 o el bitmap dispositivo-independiente más tarde
(DIB).

Descripción del miembro

el bmiHeader Especifica una estructura de BITMAPINFOHEADER que contiene
información sobre las dimensiones y formato de color de un DIB.

el bmiColors Especifica una serie de estructuras de RGBQUAD que definen los
colores en el bitmap.

Comentarios

Un Windows 3.0 o DIB más tarde consiste en dos partes distintas: una estructura
de BITMAPINFO que describe las dimensiones y colores del bitmap y una serie de
bytes que definen el pixels del bitmap. Se condensan los pedazos en la serie
juntos, pero cada uno examina la línea debe cero-forrarse para acabar en un
límite LARGO. Segmente que los límites, sin embargo, pueden aparecer en
cualquier parte en el bitmap. El origen del bitmap es la esquina
bajar-izquierda.

El miembro del biBitCount de la estructura de BITMAPINFOHEADER determina el
número de pedazos que definen cada pixel y el máximo numere de colores en el
bitmap. Este miembro puede ponerse a cualquiera de los valores siguientes:

Significado de valor

1 el bitmap es monocromático, y el miembro del bmciColors debe contener dos
entradas. Cada momento en la serie del bitmap representa un pixel. Si el pedazo
está claro, el pixel se despliega con el color de la primera entrada en la mesa
del bmciColors. Si el pedazo es fijo, el pixel tiene el color de la segunda
entrada en la mesa.

4 el bitmap tiene un máximo de 16 colores, y el miembro del bmciColors contiene
16 entradas. Cada pixel en el bitmap es representado por un índice del
cuatro-pedazo en la mesa colorida.

Por ejemplo, si el primer byte en el bitmap es 0x1F, el byte representa dos
pixels. El primer pixel contiene el color en la segunda entrada de la mesa, y
el segundo pixel contiene el color en la decimosexta entrada de la mesa.

8 el bitmap tiene un máximo de 256 colores, y el miembro del bmciColors
contiene 256 entradas. En este caso, cada byte en la serie representa un solo
pixel.

24 el bitmap tiene un máximo de 2^24 colores. El miembro del bmciColors es
NULO, y cada 3-byte sucesión en la serie del bitmap representa las intensidades
relativas de rojo, verde, y azula, respectivamente, de un pixel.

El miembro del biClrUsed de la estructura de BITMAPINFOHEADER especifica el
número de índices colorimétrico realmente en la mesa colorida usada por el
bitmap. Si el miembro del biClrUsed se pone para poner a cero, el bitmap usa el
número del máximo de colores que corresponden al valor del miembro del
biBitCount.

Los colores en la mesa del bmiColors deben aparecer en orden de importancia.
Alternativamente, de funciones que usan DIBs, el miembro del bmiColors puede
estar a favor una serie de 16-bit enteros sin firmar que especifican un índice
en la paleta lógica actualmente comprendida en lugar de valores de RGB
explícitos. En este caso, una aplicación que usa el bitmap debe llamar
funciones de DIB con el parámetro del wUsage puesto a DIB_PAL_COLORS.

Nota:   El miembro del bmiColors no debe contener que la paleta pone en un
índice si el bitmap será guardado en un archivo o se transferirá a otra
aplicación. A menos que la aplicación usa el bitmap exclusivamente y bajo su
mando completo, el bitmap la mesa colorida debe contener valores de RGB
explícitos.

También vea

BITMAPINFOHEADER, RGBQUAD,

== == == == == == == == == == == == == == == == == == == == == == == == == ==
== == == == == == == == == == == == == BITMAPINFOHEADER (3.0)
 
 

tagBITMAPINFOHEADER de struct de typedef {/ * el bmih * /
    BiSize de DWORD;
    BiWidth LARGO;
    BiHeight LARGO;
    FORMULE biplanos;
    FORMULE biBitCount;
    BiCompression de DWORD;
    BiSizeImage de DWORD;
    BiXPelsPerMeter LARGO;
    BiYPelsPerMeter LARGO;
    BiClrUsed de DWORD;
    BiClrImportant de DWORD;
} BITMAPINFOHEADER;

La estructura de BITMAPINFOHEADER contiene información sobre las dimensiones y
formato de color de un Windows 3.0 o bitmap dispositivo-independiente más tarde
(DIB).

Descripción del miembro

el biSize Especifica el número de bytes requerido por la estructura de
BITMAPINFOHEADER.

el biWidth Especifica la anchura del bitmap, en pixels.  biHeightSpecifies la
altura del bitmap, en pixels.

biPlanesSpecifies el número de aviones para el dispositivo designado. Esto
el miembro debe ponerse a 1.

el biBitCount Especifica el número de pedazos por el pixel. Este valor debe ser
1, 4, 8, o 24.

el biCompression Especifica el tipo de condensación para un bitmap comprimido.
Puede ser uno de los valores siguientes:

Significado de valor

BI_RGB Specifies que el bitmap no está comprimido.

BI_RLE8 especifican que una correr-longitud puso en código formato para el
bitmaps con 8 pedazos por el pixel. El formato de condensación es un 2-byte
formato que consiste en un byte de la cuenta seguido por un byte que contiene
un índice colorimétrico.  Para más información, vea la sección de los
Comentarios siguiente.

BI_RLE4 especifican que una correr-longitud puso en código formato para el
bitmaps con 4 pedazos por el pixel. El formato de condensación es un 2-byte
formato que consiste en un byte de la cuenta seguido por dos índices
colorimétrico de palabra-longitud.  Para más información, vea la sección de los
Comentarios siguiente.

el biSizeImage Especifica el tamaño, en bytes, de la imagen. Es válido poner a
este miembro para poner a cero si el bitmap está en el formato de BI_RGB.

el biXPelsPerMeter Especifica la resolución horizontal, en pixels por el metro,
del dispositivo designado para el bitmap. Una aplicación puede usar este valor
para seleccionar un bitmap de un grupo del recurso que los fósforos más buenos
las características del dispositivo actual.

el biYPelsPerMeter Especifica la resolución vertical, en pixels por el metro,
del dispositivo designado para el bitmap.

el biClrUsed Especifica el número de índices colorimétrico realmente en la mesa
colorida usada por el bitmap. Si este valor es cero, el bitmap usa el número
del máximo de colores que corresponden al valor del miembro del biBitCount.
Para más información sobre el máximo clasifica según tamaño de la mesa
colorida, vea la descripción de la estructura de BITMAPINFO antes en este tema.

Si el miembro del biClrUsed es nonzero, especifica el número real de colores
que el artefacto de los gráficos o chófer del dispositivo accederá si el
miembro del biBitCount está menos de 24. Si el biBitCount se pone a 24, el
biClrUsed especifica que el tamaño de la mesa de color de referencia
perfeccionaba actuación de Windows las paletas coloridas.  Si el bitmap es un
bitmap condensado (es decir, un bitmap en el que los bitmap forman
inmediatamente sigue el título de BITMAPINFO y qué es referenced por un solo
indicador), el miembro del biClrUsed debe ponerse para poner a cero o al tamaño
real de la mesa colorida.

el biClrImportant Especifica el número de índices colorimétrico que son
considerados importante para desplegar el bitmap. Si este valor es cero, todo
los colores son importantes.

Comentarios

Los BITMAPINFO estructuran combina los BITMAPINFOHEADER estructuran y una mesa
colorida para proporcionar una definición completa de las dimensiones y colores
de un Windows 3.0 o DIB más tarde. Para más información sobre especificar un
Windows 3.0 DIB, vea la descripción de la estructura de BITMAPINFO.

Una aplicación debe usar que la información guardada en el miembro del biSize
localizar la mesa colorida en una estructura de BITMAPINFO como sigue:

pColor = ((LPSTR) el pBitmapInfo + (PALABRA) (pBitmapInfo->bmiHeader.biSize))

Windows apoya formatos por comprimir bitmaps que define sus colores con 8
pedazos por el pixel y con 4 pedazos por el pixel. La condensación reduce el
disco y el almacenamiento de memoria requirió para el bitmap. Los párrafos
siguientes describen estos formatos.

BI_RLE8

Cuando el miembro del biCompression se pone a BI_RLE8, el bitmap es usando
comprimido una correr-longitud que pone en código formato para un 8-bit bitmap.
Este formato puede comprimirse en cualquiera de dos modos: puesto en código y
absoluto. Ambos modos pueden ocurrir en cualquier parte a lo largo de un solo
bitmap.

El modo puesto en código consiste en dos bytes: el primer byte especifica el
número de pixels consecutivo ser dibujado usando el índice colorimétrico
contuvo en el segundo byte. Además, el primer byte del par puede ponerse poner
a cero para indicar un escape que denota un extremo de línea, extremo de
bitmap, o un delta. La interpretación del escape depende del valor del segundo
byte del par. La lista siguiente muestra el significado del segundo byte:

Significado de valor

0 extremo de línea.
1 extremo de bitmap.
2 delta. Los dos bytes que siguen el escape contienen valores sin firmar que
indican el desplazamiento horizontal y vertical de los próximos pixel de la
posición actual.

El modo absoluto es signaled por el primer byte ponga para poner a cero y el
segundo juego del byte a un valor entre 0x03 y 0xFF. En modo absoluto, el
segundo byte representa el número de bytes que siguen cada uno de los cuales
contienen el índice colorimétrico de un solo pixel. Cuando el segundo byte se
pone a 2 o menos, el escape tiene el mismo significado como en modo puesto en
código. En modo absoluto, cada carrera debe alinearse en un palabra límite.  El
ejemplo siguiente muestra los valores del hexadecimal de un 8-bit bitmap
comprimidos:
 
 

03 04 05 06 00 03 45 56 67 00 02 78 00 02 05 01
02 78 00 00 09 1E 00 01

Este bitmap extenderían como sigue (los valores del dos-dedo representan un
índice colorimétrico para un solo pixel):
 
 

04 04 04
06 06 06 06 06
45 56 67
78 78
movimiento la posición actual 5 derecho y 1 abajo
78 78
extremo de línea
1E 1E 1E 1E 1E 1E 1E 1E 1E
extremo de bitmap de RLE

BI_RLE4

Cuando el miembro del biCompression se pone a BI_RLE4, el bitmap es usando
comprimido una correr-longitud que pone en código (RLE) el formato para un
4-bit bitmap que también los usos pusieron en código y los modos absolutos. En
modo puesto en código, el primer byte del par contiene el número de pixels ser
dibujado usando los índices colorimétrico en el segundo byte. El segundo byte
contiene dos índices colorimétrico, uno en su mordisco del alto-orden (es
decir, su bajo-orden cuatro pedazos) y uno en su mordisco del bajo-orden. El
primero del pixels es usando arrastrado el color especificado por el mordisco
del alto-orden, el segundo es usando arrastrado el color en el mordisco del
bajo-orden, el tercio es arrastrado con el color en el mordisco del alto-orden,
y así sucesivamente, hasta todo el pixels especificado por el primer byte ha
sido arrastrado.  En modo absoluto, el primer byte contiene cero, el segundo
byte contiene el número de índices colorimétrico que siguen, y los bytes
subsecuentes contienen índices colorimétrico en su alto - y mordiscos del
bajo-orden, un índice colorimétrico para cada pixel. En modo absoluto, cada
carrera debe alinearse en un palabra límite. El extremo-de-línea,
extremo-de-bitmap, y los escapes del delta también aplican a BI_RLE4.

El ejemplo siguiente muestra los valores del hexadecimal de un 4-bit bitmap
comprimidos:
 
 

03 04 05 06 00 06 45 56 67 00 04 78 00 02 05 01
04 78 00 00 09 1E 00 01

Este bitmap extenderían como sigue (los valores del solo-dedo representan un
índice colorimétrico para un solo pixel):
 
 

0 4 0
0 6 0 6 0
4 5 5 6 6 7
7 8 7 8
movimiento la posición actual 5 derecho y 1 abajo
7 8 7 8
extremo de línea
1 E 1 E 1 E 1 E 1
extremo de bitmap de RLE

También vea

BITMAPINFO

== == == == == == == == == == == == == == == == == == == == == == == == == ==
== == == == == == == == == == == == == RGBQUAD (3.0)
 
 

tagRGBQUAD de struct de typedef {/ * el rgbq * /
    RgbBlue del BYTE;
    RgbGreen del BYTE;
    RgbRed del BYTE;
    RgbReserved del BYTE;
} RGBQUAD;

La estructura de RGBQUAD describe un consistiendo colorido de intensidades
relativas de rojo, verde, y azul. El miembro del bmiColors de la estructura de
BITMAPINFO consiste en una serie de estructuras de RGBQUAD.

Descripción del miembro

el rgbBlue Especifica la intensidad de azul en el color.  rgbGreenSpecifies la
intensidad de verde en el color.
el rgbRed Especifica la intensidad de rojo en el color.
los rgbReserved no usaron; debe ponerse para poner a cero.

También vea

BITMAPINFO

== == == == == == == == == == == == == == == == == == == == == == == == == ==
== == == == == == == == == == == == == RGB (2.x)

COLORREF RGB(cRed, cGreen, el cBlue)

CRed del BYTE; / * el componente rojo de color * /
CGreen del BYTE; / * el componente verde de color * /
CBlue del BYTE; / * el componente azul de color * /
 

El macro de RGB selecciona un color de RGB basado en los parámetros
proporcionados y las capacidades coloridas del dispositivo del rendimiento.

Descripción del parámetro

el cRed Especifica la intensidad del campo colorido rojo.
el cGreen Especifica la intensidad del campo colorido verde.
el cBlue Especifica la intensidad del campo colorido azul.

Ingresos

El valor del retorno especifica el resultante el color de RGB.

Comentarios

La intensidad para cada argumento puede ir de 0 a través de 255. Si todo las
tres intensidades se especifican como cero, el resultado es negro. Si todo las
tres intensidades se especifican como 255, el resultado es blanco.

Comentarios

El macro de RGB se define en WINDOWS.H como sigue:
 
 

#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)(g)<<8)) | \
(((DWORD)(BYTE)(b)) << 16)))

También vea

GetBValue, GetGValue, GetRValue, PALETTEINDEX, PALETTERGB,

== == == == == == == == == == == == == == == == == == == == == == == == == ==
== == == == == == == == == == == == == BITMAPCOREINFO (3.0)
 
 

tagBITMAPCOREINFO de struct de typedef {/ * el bmci * /
    BmciHeader de BITMAPCOREHEADER;
    RGBTRIPLE bmciColors[1];
} BITMAPCOREINFO;

Los BITMAPCOREINFO estructuran totalmente define las dimensiones y información
de color para un bitmap dispositivo-independiente (DIB).  Las aplicaciones de
Windows deben usar los BITMAPINFO estructuran en lugar de BITMAPCOREINFO
siempre que posible.

Descripción del miembro

el bmciHeader Especifica una estructura de BITMAPCOREHEADER que contiene
información sobre las dimensiones y formato de color de un DIB.

el bmciColors Especifica una serie de estructuras de RGBTRIPLE que definen los
colores en el bitmap.

Comentarios

La estructura de BITMAPCOREINFO describe las dimensiones y colores de un
bitmap. Se sigue inmediatamente en memoria por una serie de bytes que definen
el pixels del bitmap. Se condensan los pedazos en la serie juntos, pero cada
uno examina la línea debe cero-forrarse para acabar en un límite LARGO.
Segmente que los límites, sin embargo, pueden aparecer en cualquier parte en el
bitmap. El origen del bitmap es la esquina bajar-izquierda.

El miembro del bcBitCount de la estructura de BITMAPCOREHEADER determina el
número de pedazos que definen cada pixel y el máximo numere de colores en el
bitmap. Este miembro puede ponerse a cualquiera de los valores siguientes:

Significado de valor

1 el bitmap es monocromático, y el miembro del bmciColors debe contener dos
entradas. Cada momento en la serie del bitmap representa un pixel. Si el pedazo
está claro, el pixel se despliega con el color de la primera entrada en la mesa
del bmciColors. Si el pedazo es fijo, el pixel tiene el color de la segunda
entrada en la mesa.

4 el bitmap tiene un máximo de 16 colores, y el miembro del bmciColors contiene
16 entradas. Cada pixel en el bitmap es representado por un índice del
cuatro-pedazo en la mesa colorida.

Por ejemplo, si el primer byte en el bitmap es 0x1F, el byte representa dos
pixels. El primer pixel contiene el color en la segunda entrada de la mesa, y
el segundo pixel contiene el color en la decimosexta entrada de la mesa.

8 el bitmap tiene un máximo de 256 colores, y el miembro del bmciColors
contiene 256 entradas. En este caso, cada byte en la serie representa un solo
pixel.

24 el bitmap tiene un máximo de 2^24 colores. El miembro del bmciColors es
NULO, y cada 3-byte sucesión en la serie del bitmap representa las intensidades
relativas de rojo, verde, y azula, respectivamente, de un pixel.

Los colores en la mesa del bmciColors deben aparecer en orden de importancia.
Alternativamente, de funciones que usan DIBs, el miembro del bmciColors puede
estar a favor una serie de 16-bit enteros sin firmar que especifican un índice
en la paleta lógica actualmente comprendida en lugar de valores de RGB
explícitos. En este caso, una aplicación que usa el bitmap debe llamar
funciones de DIB con el parámetro del wUsage puesto a DIB_PAL_COLORS.

Nota:   El miembro del bmciColors no debe contener que la paleta pone en un
índice si el bitmap será guardado en un archivo o se transferirá a otra
aplicación. A menos que la aplicación usa el bitmap exclusivamente y bajo su
mando completo, el bitmap la mesa colorida debe contener valores de RGB
explícitos.

También vea

BITMAPINFO, BITMAPCOREHEADER, RGBTRIPLE,
 

== == == == == == == == == == == == == == == == == == == == == == == == == ==
== == == == == == == == == == == == == BITMAPCOREHEADER (3.0)
 
 

tagBITMAPCOREHEADER de struct de typedef {/ * el bmch * /
    BcSize de DWORD;
    bcWidth corto;
    bcHeight corto;
    FORMULE bcPlanes;
    FORMULE bcBitCount;
} BITMAPCOREHEADER;

La estructura de BITMAPCOREHEADER contiene información sobre las dimensiones y
formato de color de un bitmap dispositivo-independiente (DIB). Las aplicaciones
de Windows deben usar los BITMAPINFOHEADER estructuran en lugar de
BITMAPCOREHEADER siempre que posible.

Descripción del miembro

el bcSize Especifica el número de bytes requerido por la estructura de
BITMAPCOREHEADER.

el bcWidth Especifica la anchura del bitmap, en pixels.  bcHeightSpecifies la
altura del bitmap, en pixels.

bcPlanesSpecifies el número de aviones para el dispositivo designado. Esto
el miembro debe ponerse a 1.

el bcBitCount Especifica el número de pedazos por el pixel. Este valor debe ser
1, 4, 8, o 24.

Comentarios

Los BITMAPCOREINFO estructuran combina los BITMAPCOREHEADER estructuran y una
mesa colorida para proporcionar una definición completa de las dimensiones y
colores de un DIB. Vea la descripción de la estructura de BITMAPCOREINFO para
más información sobre especificar un DIB.

Una aplicación debe usar la información guardada en el miembro del bcSize
localizar la mesa colorida en una estructura de BITMAPCOREINFO con un método
como lo siguiente:
 
 

lpColor = ((LPSTR) el pBitmapCoreInfo + (UINT) (pBitmapCoreInfo->bcSize))

También vea

BITMAPCOREINFO, BITMAPINFOHEADER, BITMAPINFOHEADER,

== == == == == == == == == == == == == == == == == == == == == == == == == ==
== == == == == == == == == == == == = RGBTRIPLE (3.0)
 
 

tagRGBTRIPLE de struct de typedef {/ * el rgbt * /
    RgbtBlue del BYTE;
    RgbtGreen del BYTE;
    RgbtRed del BYTE;
} RGBTRIPLE;

La estructura de RGBTRIPLE describe un consistiendo colorido de intensidades
relativas de rojo, verde, y azul. El miembro del bmciColors de la estructura de
BITMAPCOREINFO consiste en una serie de estructuras de RGBTRIPLE.  Las
aplicaciones de Windows deben usar los BITMAPINFO estructuran en lugar de
BITMAPCOREINFO siempre que posible. Los BITMAPINFO estructuran usa una
estructura de RGBQUAD en lugar de la estructura de RGBTRIPLE.

Descripción del miembro

rgbtBlueSpecifies la intensidad de azul en el color.
el rgbtGreen Especifica la intensidad de verde en el color.
el rgbtRed Especifica la intensidad de rojo en el color.

También vea

BITMAPCOREINFO, BITMAPINFO, RGBQUAD,

== == == == == == == == == == == == == == == == == == == == == == == == == ==
== == == == == == == == == == == == ==