( 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,
== == == == == == == == == == == == == == == == == == == == == == ==
== == ==
== == == == == == == == == == == == ==