Función MaskBlt (wingdi.h)
La función MaskBlt combina los datos de color de los mapas de bits de origen y destino mediante la operación de máscara y trama especificadas.
Sintaxis
BOOL MaskBlt(
[in] HDC hdcDest,
[in] int xDest,
[in] int yDest,
[in] int width,
[in] int height,
[in] HDC hdcSrc,
[in] int xSrc,
[in] int ySrc,
[in] HBITMAP hbmMask,
[in] int xMask,
[in] int yMask,
[in] DWORD rop
);
Parámetros
[in] hdcDest
Controlar el contexto del dispositivo de destino.
[in] xDest
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.
[in] yDest
Coordenada y, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.
[in] width
Ancho, en unidades lógicas, del rectángulo de destino y del mapa de bits de origen.
[in] height
Alto, en unidades lógicas, del rectángulo de destino y del mapa de bits de origen.
[in] hdcSrc
Identificador del contexto del dispositivo desde el que se va a copiar el mapa de bits. Debe ser cero si el parámetro dwRop especifica una operación ráster que no incluye un origen.
[in] xSrc
Coordenada x, en unidades lógicas, de la esquina superior izquierda del mapa de bits de origen.
[in] ySrc
Coordenada y, en unidades lógicas, de la esquina superior izquierda del mapa de bits de origen.
[in] hbmMask
Identificador del mapa de bits de máscara monocromática combinado con el mapa de bits de color en el contexto del dispositivo de origen.
[in] xMask
Desplazamiento horizontal de píxeles para el mapa de bits de máscara especificado por el parámetro hbmMask .
[in] yMask
Desplazamiento vertical de píxeles para el mapa de bits de máscara especificado por el parámetro hbmMask .
[in] rop
Códigos de operación ternarios (ROP) ternarios y de primer plano que la función usa para controlar la combinación de datos de origen y destino. El código de operación de trama en segundo plano se almacena en el byte de orden superior de la palabra de orden superior de este valor; El código de operación de trama en primer plano se almacena en el byte de orden inferior de la palabra de orden superior de este valor; se omite la palabra de orden inferior de este valor y debe ser cero. La macro MAKEROP4 crea estas combinaciones de códigos de operación de primer y segundo plano.
Para obtener una explicación del primer plano y el fondo en el contexto de esta función, vea la siguiente sección Comentarios.
Para obtener una lista de códigos de operación de trama comunes (ROP), consulte la función BitBlt . Tenga en cuenta que el ROP CAPTUREBLT generalmente no se puede usar para imprimir contextos de dispositivo.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero.
Comentarios
La función MaskBlt usa mapas de bits dependientes del dispositivo.
Un valor de 1 en la máscara especificada por hbmMask indica que el código de operación de trama en primer plano especificado por dwRop debe aplicarse en esa ubicación. Un valor de 0 en la máscara indica que el código de operación de trama en segundo plano especificado por dwRop debe aplicarse en esa ubicación.
Si las operaciones de trama requieren un origen, el rectángulo de máscara debe cubrir el rectángulo de origen. Si no es así, se producirá un error en la función. Si las operaciones de trama no requieren un origen, el rectángulo de máscara debe cubrir el rectángulo de destino. Si no es así, se producirá un error en la función.
Si una transformación de rotación o distorsión está en vigor para el contexto de dispositivo de origen cuando se llama a esta función, se produce un error. Sin embargo, se permiten otros tipos de transformación.
Si los formatos de color de los mapas de bits de origen, patrón y destino difieren, esta función convierte el formato de patrón o de origen (o ambos) para que coincidan con el formato de destino.
Si el mapa de bits de máscara no es un mapa de bits monocromático, se produce un error.
Cuando se registra un metarchivo mejorado, se produce un error (y la función devuelve FALSE) si el contexto del dispositivo de origen identifica un contexto de dispositivo de metarchivo mejorado.
No todos los dispositivos admiten la función MaskBlt . Una aplicación debe llamar a la función GetDeviceCaps con el parámetro nIndex como RC_BITBLT para determinar si un dispositivo admite esta función.
Si no se proporciona ningún mapa de bits de máscara, esta función se comporta exactamente como BitBlt, mediante el código de operación de trama en primer plano.
ICM: No se realiza ninguna administración de colores cuando se producen las ranuras.
Cuando se usa en un sistema de supervisión múltiple, hdcSrc y hdcDest deben hacer referencia al mismo dispositivo o se producirá un error en la función. Para transferir datos entre controladores de dominio para diferentes dispositivos, convierta el mapa de bits de memoria (mapa de bits compatible o DDB) en un DIB mediante una llamada a GetDIBits. Para mostrar la DIB en el segundo dispositivo, llame a SetDIBits o StretchDIBits.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wingdi.h (incluye Windows.h) |
Library | Gdi32.lib |
Archivo DLL | Gdi32.dll |