PlgBlt
La función PlgBlt realiza una transferencia de un bloque de bits de los bits de los datos de color desde el rectángulo especificado en el contexto de dispositivo de origen al paralelogramo especificado en el contexto de dispositivo de destino. Si el manipulador de máscara de bits dado identifica a un mapa de bits monocromo válido, la función usa ese mapa de bits para enmascarar los datos de color de los bits del rectángulo de origen.
Sintaxis
BOOL PlgBlt( HDC hdcDest, // manipulador de contexto de dispositivo de destino CONST POINT *lpPoint, // vértices del paralelogramo de destino HDC hdcSrc, // manipulador del contexto de dispositivo de origen int nXSrc, // coordenada x de la esquina superior izquierda del rectángulo origen int nYSrc, // coordenada y de la esquina superior izquierda del rectángulo origen int nWidth, // anchura del rectángulo origen int nHeight, // altura del rectángulo origen HBITMAP hbmMask, // manipulador de máscara de bits int xMask, // coordenada x de la esquina superior izquierda del rectángulo máscara int yMask // coordenada y de la esquina superior izquierda del rectángulo máscara );
Parámetros:
hdcDest: identifica el contexto de dispositivo de destino.
lpPoint: puntero a un array de tres puntos en el espacio lógico que identifican tres esquinas del paralelogramo des destino. La esquina superior izquierda del rectángulo origen se mapea al primer punto del array, la esquina superior derecha al segundo, y la esquina inferior izquierda al tercer punto del array. La esquina inferior derecha del rectángulo de origen se mapea el cuarto punto implícito del paralelogramo.
hdcSrc: identifica el contexto de dispositivo de origen.
nXSrc: especifica la coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.
nYSrc: especifica la coordenada y, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.
nWidth: especifica la anchura, en unidades lógicas, del rectángulo origen.
nHeight: especifica la altura, en unidades lógicas, del rectángulo origen.
hbmMask: identifica un mapa de bits monocromo opcional que se usa como máscara de colores para el rectángulo de origen.
xMask: especifica la coordenada x de la esquina superior izquierda del mapa de bits monocromo.
yMask: especifica la coordenada x de la esquina superior izquierda del mapa de bits monocromo.
Valor de retorno
Si la función tiene éxito, el valor de retorno es TRUE.
Si la función falla, el valor de retorno es FALSE. Para obtener información complementaria sobre el error, llamar a la función GetLastError.
Observaciones
El cuarto vértice del paralelogramo (D) se define a partir de los otros tres (A, B y C) tratados como vectores y mediante el cálculo D = B + C - A.
Si existe la máscara de bits, un valor de 1 en la máscara indica que el color del pixel de origen debe ser copiado al destino. Un valor de o en la máscara indica que el color del pixel de destino no debe cambiar.
Si el rectángulo de máscara es más pequeño que los rectángulos de origen y destino, la función replica el patrón de máscara.
Están permitidas las transformaciones de escalado, traslación y reflexión para el contexto de dispositivo de origen; sin embargo, las transformaciones de rotación y recorte no lo están.
Si el mapa de bits de máscara no es un mapa de bits monocromo, ocurrirá un error.
El modo de estiramiento del contexto de dispositivo de destino se usa para determinar cómo se estirarán o encogerán los pixels, si es necesario.
Cuando se está grabando un metafile mejorado, ocurrirá un error si el contexto de dispositivo de origen identifica a un contexto de dispositivo de un metafile mejorado.
Las coordenadas de destino se transforman de acuerdo con el contexto de dispositivo del destino; las coordenadas del origen se transforman de acuerdo con el contexto de dispositivo del origen. Si la transformación del origen contiene una rotación o un recorte, ocurrirá un error.
Si los rectángulos de destino y origen no tienen el mismo formato de color, PlgBlt convierte el rectángulo de origen para que coincida con el de destino.
No todos los dispositivos soportan la función PlgBlt. Para mayor información, ver la descripción de la capacidad de rastreo RC_BITBLT en la función GetDeviceCaps.
Si los contextos de dispositivo de origen y destino representan dispositivos incompatibles, PlgBlt devuelve un error.